{"id":530,"date":"2022-01-26T01:28:58","date_gmt":"2022-01-26T01:28:58","guid":{"rendered":"https:\/\/www.cybermedian.com\/id\/?p=530"},"modified":"2025-02-17T11:55:35","modified_gmt":"2025-02-17T03:55:35","slug":"what-is-the-open-closed-principle-ocp","status":"publish","type":"post","link":"https:\/\/www.cybermedian.com\/id\/what-is-the-open-closed-principle-ocp\/","title":{"rendered":"Apa itu prinsip terbuka-tertutup (OCP)?"},"content":{"rendered":"<section class=\"section section--body section--first\">\n<div class=\"section-content\">\n<div class=\"section-inner sectionLayout--insetColumn\">\n<p class=\"graf graf--p graf-after--h3\" id=\"05f0\">Prinsip <a class=\"markup--anchor markup--p-anchor\" data-href=\"https:\/\/en.wikipedia.org\/wiki\/Open%E2%80%93closed_principle#:~:text=In%20object%2Doriented%20programming%2C%20the,without%20modifying%20its%20source%20code.\" href=\"https:\/\/en.wikipedia.org\/wiki\/Open%E2%80%93closed_principle#:~:text=In%20object%2Doriented%20programming%2C%20the,without%20modifying%20its%20source%20code.\" rel=\"noopener\" target=\"_blank\">Terbuka \/ Tertutup<\/a>adalah prinsip desain paling dasar di dunia pengembangan perangkat lunak. Ini membimbing kita bagaimana membangun sistem yang stabil dan fleksibel.<\/p>\n<h4 class=\"graf graf--h4 graf-after--p\" id=\"ef13\"><strong class=\"markup--strong markup--h4-strong\">Definisi:<\/strong><\/h4>\n<blockquote class=\"graf graf--blockquote graf-after--h4\" id=\"bc88\">\n<p>Sebuah entitas perangkat lunak seperti kelas, modul, dan fungsi harus terbuka untuk ekstensi dan tertutup untuk modifikasi.<\/p>\n<\/blockquote>\n<p class=\"graf graf--p graf-after--blockquote\" id=\"8516\">Makna dari prinsip terbuka dan tertutup adalah bahwa sebuah entitas perangkat lunak harus diperluas untuk mencapai perubahan, bukan dengan memodifikasi kode yang ada untuk mencapai perubahan.<\/p>\n<p class=\"graf graf--p graf-after--p\" id=\"aad3\">Prinsip terbuka dan tertutup adalah prinsip yang membatasi pengembangan dan desain saat ini untuk hal-hal masa depan dari entitas perangkat lunak.<\/p>\n<p class=\"graf graf--p graf-after--p\" id=\"3cf8\">Catatan: Prinsip terbuka dan tertutup terbuka untuk ekstensi dan tertutup untuk modifikasi. Ini tidak berarti bahwa tidak ada modifikasi yang akan dilakukan. Perubahan pada modul tingkat rendah harus dipasangkan dengan modul tingkat tinggi, jika tidak, itu akan menjadi fragmen kode yang terisolasi dan tidak berarti.<\/p>\n<p class=\"graf graf--p graf-after--p\" id=\"adad\"><strong class=\"markup--strong markup--p-strong\">Pentingnya prinsip terbuka dan tertutup:<\/strong><\/p>\n<ul class=\"postList\">\n<li class=\"graf graf--li graf-after--p\" id=\"4231\">Dampak prinsip terbuka dan tertutup pada pengujian<\/li>\n<\/ul>\n<p class=\"graf graf--p graf-after--li\" id=\"dd2a\">Prinsip terbuka dan tertutup adalah untuk menjaga kode pengujian asli tetap dapat berjalan dengan normal, kita hanya perlu menguji kode yang diperluas.<\/p>\n<ul class=\"postList\">\n<li class=\"graf graf--li graf-after--p\" id=\"e807\">Prinsip terbuka dan tertutup dapat meningkatkan keterpakaiannya kembali<\/li>\n<\/ul>\n<p class=\"graf graf--p graf-after--li\" id=\"1236\">Dalam <a class=\"markup--anchor markup--p-anchor\" data-href=\"https:\/\/www.techopedia.com\/definition\/21105\/object-oriented-design-ood#:~:text=Object%2Doriented%20design%20(OOD)%20is%20the%20process%20of%20using,(OOP)%20process%20or%20lifecycle.\" href=\"https:\/\/www.techopedia.com\/definition\/21105\/object-oriented-design-ood#:~:text=Object%2Doriented%20design%20%28OOD%29%20is%20the%20process%20of%20using,%28OOP%29%20process%20or%20lifecycle.\" rel=\"noopener\" target=\"_blank\">desain berorientasi objek<\/a>, semua logika digabungkan dari logika atomik, alih-alih menerapkan logika bisnis dalam sebuah kelas secara independen. Hanya dengan cara ini kode dapat digunakan kembali. Semakin kecil granularitasnya, semakin besar kemungkinan untuk digunakan kembali.<\/p>\n<ul class=\"postList\">\n<li class=\"graf graf--li graf-after--p\" id=\"4999\">Prinsip terbuka dan tertutup dapat meningkatkan pemeliharaan<\/li>\n<li class=\"graf graf--li graf-after--li\" id=\"0c21\">Persyaratan pengembangan berorientasi objek<\/li>\n<\/ul>\n<p class=\"graf graf--p graf-after--li\" id=\"6c46\"><strong class=\"markup--strong markup--p-strong\">Cara menggunakan prinsip terbuka dan tertutup:<\/strong><\/p>\n<p class=\"graf graf--p graf-after--p\" id=\"3568\"><strong class=\"markup--strong markup--p-strong\">Pertama<\/strong>, batasi ekstensi melalui antarmuka atau kelas abstrak, batasi ekstensi batas, dan jangan izinkan metode publik yang tidak ada dalam antarmuka atau kelas abstrak;<\/p>\n<p class=\"graf graf--p graf-after--p\" id=\"8d58\"><strong class=\"markup--strong markup--p-strong\">Kedua<\/strong>, coba gunakan antarmuka atau kelas abstrak untuk tipe parameter dan objek referensi alih-alih kelas implementasi;<\/p>\n<p class=\"graf graf--p graf-after--p\" id=\"c031\"><strong class=\"markup--strong markup--p-strong\">Ketiga<\/strong>, lapisan abstraksi harus dijaga se-stabil mungkin, setelah dikonfirmasi, tidak ada modifikasi yang diizinkan.<\/p>\n<p class=\"graf graf--p graf-after--p\" id=\"22c7\">Enkapsulasi perubahan memiliki dua makna:<\/p>\n<p class=\"graf graf--p graf-after--p\" id=\"cda0\">Pertama, enkapsulasi perubahan yang sama ke dalam antarmuka atau kelas abstrak;<\/p>\n<p class=\"graf graf--p graf-after--p graf--trailing\" id=\"8a51\">Kedua, enkapsulasi perubahan yang berbeda ke dalam antarmuka atau kelas abstrak yang berbeda. Dua perubahan yang berbeda tidak boleh muncul dalam antarmuka atau kelas abstrak yang sama.<\/p>\n<\/div>\n<\/div>\n<\/section>\n<section class=\"section section--body section--last\">\n<div class=\"section-divider\">\n<hr class=\"section-divider\"\/>\n<\/div>\n<div class=\"section-content\">\n<div class=\"section-inner sectionLayout--insetColumn\">\n<h4 class=\"graf graf--h4 graf--leading\" id=\"69e6\">Contoh<\/h4>\n<p class=\"graf graf--p graf-after--h4\" id=\"56bf\">Sebuah contoh, membuka dan menutup pintu dengan tangan.<\/p>\n<figure class=\"graf graf--figure graf-after--p\" id=\"d3f2\"><img class=\"graf-image\" data-height=\"148\" data-image-id=\"0*wlXaJtn3Bexx9ev7.png\" data-width=\"453\" decoding=\"async\" src=\"https:\/\/www.cybermedian.com\/id\/wp-content\/uploads\/sites\/17\/2022\/01\/0wlXaJtn3Bexx9ev7.png\"\/><\/figure>\n<p class=\"graf graf--p graf-after--figure\" id=\"c2c2\">Jika ada permintaan baru, perlu untuk meningkatkan fungsi membuka dan menutup laci dengan tangan. Untuk kode, Anda perlu menambahkan kelas Drawer dan memodifikasi kelas Hand pada saat yang sama.<\/p>\n<figure class=\"graf graf--figure graf-after--p\" id=\"1d14\"><img class=\"graf-image\" data-height=\"500\" data-image-id=\"1*QXaFJLucsecnatWUuuuH6Q.png\" data-is-featured=\"true\" data-width=\"781\" decoding=\"async\" src=\"https:\/\/www.cybermedian.com\/id\/wp-content\/uploads\/sites\/17\/2022\/01\/1QXaFJLucsecnatWUuuuH6Q.png\"\/><\/figure>\n<p class=\"graf graf--p graf-after--figure\" id=\"ce83\">Mengikuti contoh prinsip terbuka dan tertutup OCP, membuka dan menutup pintu dengan tangan bergantung pada antarmuka, dan kelas implementasi spesifik mengimplementasikan antarmuka ini.<\/p>\n<figure class=\"graf graf--figure graf-after--p\" id=\"28a1\"><img class=\"graf-image\" data-height=\"461\" data-image-id=\"1*NVWYY0ZYvgMJbnENhw1QKw.png\" data-width=\"800\" decoding=\"async\" src=\"https:\/\/www.cybermedian.com\/id\/wp-content\/uploads\/sites\/17\/2022\/01\/1NVWYY0ZYvgMJbnENhw1QKw.png\"\/><\/figure>\n<p class=\"graf graf--p graf-after--figure\" id=\"2372\">Ketika perlu untuk meningkatkan jumlah tangan untuk membuka dan menutup lemari es, kelas lemari es mengimplementasikan antarmuka ini tanpa memodifikasi kelas dan antarmuka Hand yang asli.<\/p>\n<figure class=\"graf graf--figure graf-after--p\" id=\"6688\"><img class=\"graf-image\" data-height=\"464\" data-image-id=\"1*iR6WQOaVLjFUMy1056vL-w.png\" data-width=\"946\" decoding=\"async\" src=\"https:\/\/www.cybermedian.com\/id\/wp-content\/uploads\/sites\/17\/2022\/01\/1iR6WQOaVLjFUMy1056vL-w.png\"\/><\/figure>\n<h4 class=\"graf graf--h4 graf-after--figure\" id=\"246b\">Lebih Banyak Sumber Daya Berorientasi Objek<\/h4>\n<ul class=\"postList\">\n<li class=\"graf graf--li graf-after--h4\" id=\"3002\"><a class=\"markup--anchor markup--li-anchor\" data-href=\"https:\/\/reflectoring.io\/open-closed-principle-explained\/\" href=\"https:\/\/reflectoring.io\/open-closed-principle-explained\/\" rel=\"noopener\" target=\"_blank\">Penjelasan Prinsip Terbuka-Tertutup<\/a><\/li>\n<li class=\"graf graf--li graf-after--li\" id=\"be77\"><a class=\"markup--anchor markup--li-anchor\" data-href=\"https:\/\/www.visual-paradigm.com\/guide\/uml-unified-modeling-language\/uml-class-diagram-tutorial\/\" href=\"https:\/\/www.visual-paradigm.com\/guide\/uml-unified-modeling-language\/uml-class-diagram-tutorial\/\" rel=\"noopener\" target=\"_blank\">Tutorial Diagram Kelas UML<\/a><\/li>\n<li class=\"graf graf--li graf-after--li\" id=\"d80e\"><a class=\"markup--anchor markup--li-anchor\" data-href=\"https:\/\/www.visual-paradigm.com\/guide\/uml-unified-modeling-language\/what-is-class-diagram\/\" href=\"https:\/\/www.visual-paradigm.com\/guide\/uml-unified-modeling-language\/what-is-class-diagram\/\" rel=\"noopener\" target=\"_blank\">Apa itu Diagram Kelas?<\/a><\/li>\n<li class=\"graf graf--li graf-after--li\" id=\"f4cf\"><a class=\"markup--anchor markup--li-anchor\" data-href=\"https:\/\/online.visual-paradigm.com\/diagrams\/solutions\/free-class-diagram-tool\/\" href=\"https:\/\/online.visual-paradigm.com\/diagrams\/solutions\/free-class-diagram-tool\/\" rel=\"noopener\" target=\"_blank\">Alat Diagram Kelas Gratis<\/a><\/li>\n<li class=\"graf graf--li graf-after--li\" id=\"8e66\"><a class=\"markup--anchor markup--li-anchor\" data-href=\"http:\/\/Online Class Diagram Software\" href=\"http:\/\/Online%20Class%20Diagram%20Software\" rel=\"noopener\" target=\"_blank\">Perangkat Lunak Diagram Kelas Daring<\/a><\/li>\n<li class=\"graf graf--li graf-after--li graf--trailing\" id=\"1b39\"><a class=\"markup--anchor markup--li-anchor\" data-href=\"https:\/\/www.google.com\/search?q=uml+visaul+paradigm&amp;sxsrf=AOaemvJcREGG3huPXRdERD5w15PnUrAxuQ%3A1632104970304&amp;ei=CvJHYYfpEai9mAW8u67YAg&amp;oq=uml+visaul+paradigm&amp;gs_lcp=Cgdnd3Mtd2l6EAMyBwgjELACECcyBAgAEA0yBggAEBYQHjIGCAAQFhAeMgYIABAWEB4yBggAEBYQHjIGCAAQFhAeMgYIABAWEB4yBggAEBYQHjIGCAAQFhAeOgQIABBDOg0ILhCxAxDHARDRAxBDOggIABCABBCxAzoFCAAQsQM6DgguEIAEELEDEMcBEKMCOgsILhCABBCxAxCDAToECCMQJzoFCAAQkQI6BQgAEIAEOgoIABCABBCHAhAUOgYIABANEB5KBAhBGABQ8fYzWJ-YNGCpmzRoAHACeACAAYUBiAHeDJIBBDE2LjOYAQCgAQHAAQE&amp;sclient=gws-wiz&amp;ved=0ahUKEwiHlvbnwIzzAhWoHqYKHbydCysQ4dUDCA4&amp;uact=5\" href=\"https:\/\/www.google.com\/search?q=uml+visaul+paradigm&amp;sxsrf=AOaemvJcREGG3huPXRdERD5w15PnUrAxuQ%3A1632104970304&amp;ei=CvJHYYfpEai9mAW8u67YAg&amp;oq=uml+visaul+paradigm&amp;gs_lcp=Cgdnd3Mtd2l6EAMyBwgjELACECcyBAgAEA0yBggAEBYQHjIGCAAQFhAeMgYIABAWEB4yBggAEBYQHjIGCAAQFhAeMgYIABAWEB4yBggAEBYQHjIGCAAQFhAeOgQIABBDOg0ILhCxAxDHARDRAxBDOggIABCABBCxAzoFCAAQsQM6DgguEIAEELEDEMcBEKMCOgsILhCABBCxAxCDAToECCMQJzoFCAAQkQI6BQgAEIAEOgoIABCABBCHAhAUOgYIABANEB5KBAhBGABQ8fYzWJ-YNGCpmzRoAHACeACAAYUBiAHeDJIBBDE2LjOYAQCgAQHAAQE&amp;sclient=gws-wiz&amp;ved=0ahUKEwiHlvbnwIzzAhWoHqYKHbydCysQ4dUDCA4&amp;uact=5\" rel=\"noopener\" target=\"_blank\">Apa itu Bahasa Pemodelan Terpadu (UML)?<\/a><\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/section>\n","protected":false},"excerpt":{"rendered":"<p>The\u00a0Open \/ Closed Principle\u00a0is the most basic design principle in the software development world. It guides us how to build a stable and flexible system. A software entity such as class, module, and function should be open for extension and closed for modification.<\/p>\n","protected":false},"author":1,"featured_media":1383,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_yoast_wpseo_title":"","_yoast_wpseo_metadesc":"","footnotes":""},"categories":[2,5],"tags":[52,63,62,53],"class_list":["post-530","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-agile-project-management","category-software-engineering","tag-cn-done","tag-es-done","tag-ja-done","tag-tw-done"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Apa itu prinsip terbuka-tertutup (OCP)? - Media Maya<\/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.cybermedian.com\/id\/what-is-the-open-closed-principle-ocp\/\" \/>\n<meta property=\"og:locale\" content=\"id_ID\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Apa itu prinsip terbuka-tertutup (OCP)? - Media Maya\" \/>\n<meta property=\"og:description\" content=\"The\u00a0Open \/ Closed Principle\u00a0is the most basic design principle in the software development world. It guides us how to build a stable and flexible system. A software entity such as class, module, and function should be open for extension and closed for modification.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.cybermedian.com\/id\/what-is-the-open-closed-principle-ocp\/\" \/>\n<meta property=\"og:site_name\" content=\"Media Maya\" \/>\n<meta property=\"article:published_time\" content=\"2022-01-26T01:28:58+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-02-17T03:55:35+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.cybermedian.com\/id\/wp-content\/uploads\/sites\/17\/2022\/01\/open-closed-principle.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"900\" \/>\n\t<meta property=\"og:image:height\" content=\"600\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"vpadmin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@vpadmin\" \/>\n<meta name=\"twitter:label1\" content=\"Ditulis oleh\" \/>\n\t<meta name=\"twitter:data1\" content=\"vpadmin\" \/>\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\":\"Article\",\"@id\":\"https:\/\/www.cybermedian.com\/id\/what-is-the-open-closed-principle-ocp\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.cybermedian.com\/id\/what-is-the-open-closed-principle-ocp\/\"},\"author\":{\"name\":\"vpadmin\",\"@id\":\"https:\/\/www.cybermedian.com\/id\/#\/schema\/person\/0122cdf8fc3b73482dd8a30c8500f75a\"},\"headline\":\"Apa itu prinsip terbuka-tertutup (OCP)?\",\"datePublished\":\"2022-01-26T01:28:58+00:00\",\"dateModified\":\"2025-02-17T03:55:35+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.cybermedian.com\/id\/what-is-the-open-closed-principle-ocp\/\"},\"wordCount\":448,\"commentCount\":0,\"image\":{\"@id\":\"https:\/\/www.cybermedian.com\/id\/what-is-the-open-closed-principle-ocp\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.cybermedian.com\/id\/wp-content\/uploads\/sites\/17\/2022\/01\/open-closed-principle.jpg\",\"keywords\":[\"cn-done\",\"es-done\",\"ja-done\",\"tw-done\"],\"articleSection\":[\"Agile Project Management\",\"Software Engineering\"],\"inLanguage\":\"id\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.cybermedian.com\/id\/what-is-the-open-closed-principle-ocp\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.cybermedian.com\/id\/what-is-the-open-closed-principle-ocp\/\",\"url\":\"https:\/\/www.cybermedian.com\/id\/what-is-the-open-closed-principle-ocp\/\",\"name\":\"Apa itu prinsip terbuka-tertutup (OCP)? - Media Maya\",\"isPartOf\":{\"@id\":\"https:\/\/www.cybermedian.com\/id\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.cybermedian.com\/id\/what-is-the-open-closed-principle-ocp\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.cybermedian.com\/id\/what-is-the-open-closed-principle-ocp\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.cybermedian.com\/id\/wp-content\/uploads\/sites\/17\/2022\/01\/open-closed-principle.jpg\",\"datePublished\":\"2022-01-26T01:28:58+00:00\",\"dateModified\":\"2025-02-17T03:55:35+00:00\",\"author\":{\"@id\":\"https:\/\/www.cybermedian.com\/id\/#\/schema\/person\/0122cdf8fc3b73482dd8a30c8500f75a\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.cybermedian.com\/id\/what-is-the-open-closed-principle-ocp\/#breadcrumb\"},\"inLanguage\":\"id\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.cybermedian.com\/id\/what-is-the-open-closed-principle-ocp\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"id\",\"@id\":\"https:\/\/www.cybermedian.com\/id\/what-is-the-open-closed-principle-ocp\/#primaryimage\",\"url\":\"https:\/\/www.cybermedian.com\/id\/wp-content\/uploads\/sites\/17\/2022\/01\/open-closed-principle.jpg\",\"contentUrl\":\"https:\/\/www.cybermedian.com\/id\/wp-content\/uploads\/sites\/17\/2022\/01\/open-closed-principle.jpg\",\"width\":900,\"height\":600,\"caption\":\"Open-Close Principle\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.cybermedian.com\/id\/what-is-the-open-closed-principle-ocp\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.cybermedian.com\/id\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Apa itu prinsip terbuka-tertutup (OCP)?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.cybermedian.com\/id\/#website\",\"url\":\"https:\/\/www.cybermedian.com\/id\/\",\"name\":\"Media Maya\",\"description\":\"Belajar satu hal baru setiap hari\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.cybermedian.com\/id\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"id\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.cybermedian.com\/id\/#\/schema\/person\/0122cdf8fc3b73482dd8a30c8500f75a\",\"name\":\"vpadmin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"id\",\"@id\":\"https:\/\/www.cybermedian.com\/id\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/3914788226b9b0af628488720662164f4641c6125d0bd38d90ae34f01c8c4ea3?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/3914788226b9b0af628488720662164f4641c6125d0bd38d90ae34f01c8c4ea3?s=96&d=mm&r=g\",\"caption\":\"vpadmin\"},\"sameAs\":[\"https:\/\/x.com\/vpadmin\"],\"url\":\"https:\/\/www.cybermedian.com\/id\/author\/vpadmin\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Apa itu prinsip terbuka-tertutup (OCP)? - Media Maya","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.cybermedian.com\/id\/what-is-the-open-closed-principle-ocp\/","og_locale":"id_ID","og_type":"article","og_title":"Apa itu prinsip terbuka-tertutup (OCP)? - Media Maya","og_description":"The\u00a0Open \/ Closed Principle\u00a0is the most basic design principle in the software development world. It guides us how to build a stable and flexible system. A software entity such as class, module, and function should be open for extension and closed for modification.","og_url":"https:\/\/www.cybermedian.com\/id\/what-is-the-open-closed-principle-ocp\/","og_site_name":"Media Maya","article_published_time":"2022-01-26T01:28:58+00:00","article_modified_time":"2025-02-17T03:55:35+00:00","og_image":[{"width":900,"height":600,"url":"https:\/\/www.cybermedian.com\/id\/wp-content\/uploads\/sites\/17\/2022\/01\/open-closed-principle.jpg","type":"image\/jpeg"}],"author":"vpadmin","twitter_card":"summary_large_image","twitter_creator":"@vpadmin","twitter_misc":{"Ditulis oleh":"vpadmin","Estimasi waktu membaca":"2 menit"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.cybermedian.com\/id\/what-is-the-open-closed-principle-ocp\/#article","isPartOf":{"@id":"https:\/\/www.cybermedian.com\/id\/what-is-the-open-closed-principle-ocp\/"},"author":{"name":"vpadmin","@id":"https:\/\/www.cybermedian.com\/id\/#\/schema\/person\/0122cdf8fc3b73482dd8a30c8500f75a"},"headline":"Apa itu prinsip terbuka-tertutup (OCP)?","datePublished":"2022-01-26T01:28:58+00:00","dateModified":"2025-02-17T03:55:35+00:00","mainEntityOfPage":{"@id":"https:\/\/www.cybermedian.com\/id\/what-is-the-open-closed-principle-ocp\/"},"wordCount":448,"commentCount":0,"image":{"@id":"https:\/\/www.cybermedian.com\/id\/what-is-the-open-closed-principle-ocp\/#primaryimage"},"thumbnailUrl":"https:\/\/www.cybermedian.com\/id\/wp-content\/uploads\/sites\/17\/2022\/01\/open-closed-principle.jpg","keywords":["cn-done","es-done","ja-done","tw-done"],"articleSection":["Agile Project Management","Software Engineering"],"inLanguage":"id","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.cybermedian.com\/id\/what-is-the-open-closed-principle-ocp\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.cybermedian.com\/id\/what-is-the-open-closed-principle-ocp\/","url":"https:\/\/www.cybermedian.com\/id\/what-is-the-open-closed-principle-ocp\/","name":"Apa itu prinsip terbuka-tertutup (OCP)? - Media Maya","isPartOf":{"@id":"https:\/\/www.cybermedian.com\/id\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.cybermedian.com\/id\/what-is-the-open-closed-principle-ocp\/#primaryimage"},"image":{"@id":"https:\/\/www.cybermedian.com\/id\/what-is-the-open-closed-principle-ocp\/#primaryimage"},"thumbnailUrl":"https:\/\/www.cybermedian.com\/id\/wp-content\/uploads\/sites\/17\/2022\/01\/open-closed-principle.jpg","datePublished":"2022-01-26T01:28:58+00:00","dateModified":"2025-02-17T03:55:35+00:00","author":{"@id":"https:\/\/www.cybermedian.com\/id\/#\/schema\/person\/0122cdf8fc3b73482dd8a30c8500f75a"},"breadcrumb":{"@id":"https:\/\/www.cybermedian.com\/id\/what-is-the-open-closed-principle-ocp\/#breadcrumb"},"inLanguage":"id","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.cybermedian.com\/id\/what-is-the-open-closed-principle-ocp\/"]}]},{"@type":"ImageObject","inLanguage":"id","@id":"https:\/\/www.cybermedian.com\/id\/what-is-the-open-closed-principle-ocp\/#primaryimage","url":"https:\/\/www.cybermedian.com\/id\/wp-content\/uploads\/sites\/17\/2022\/01\/open-closed-principle.jpg","contentUrl":"https:\/\/www.cybermedian.com\/id\/wp-content\/uploads\/sites\/17\/2022\/01\/open-closed-principle.jpg","width":900,"height":600,"caption":"Open-Close Principle"},{"@type":"BreadcrumbList","@id":"https:\/\/www.cybermedian.com\/id\/what-is-the-open-closed-principle-ocp\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.cybermedian.com\/id\/"},{"@type":"ListItem","position":2,"name":"Apa itu prinsip terbuka-tertutup (OCP)?"}]},{"@type":"WebSite","@id":"https:\/\/www.cybermedian.com\/id\/#website","url":"https:\/\/www.cybermedian.com\/id\/","name":"Media Maya","description":"Belajar satu hal baru setiap hari","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.cybermedian.com\/id\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"id"},{"@type":"Person","@id":"https:\/\/www.cybermedian.com\/id\/#\/schema\/person\/0122cdf8fc3b73482dd8a30c8500f75a","name":"vpadmin","image":{"@type":"ImageObject","inLanguage":"id","@id":"https:\/\/www.cybermedian.com\/id\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/3914788226b9b0af628488720662164f4641c6125d0bd38d90ae34f01c8c4ea3?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/3914788226b9b0af628488720662164f4641c6125d0bd38d90ae34f01c8c4ea3?s=96&d=mm&r=g","caption":"vpadmin"},"sameAs":["https:\/\/x.com\/vpadmin"],"url":"https:\/\/www.cybermedian.com\/id\/author\/vpadmin\/"}]}},"_links":{"self":[{"href":"https:\/\/www.cybermedian.com\/id\/wp-json\/wp\/v2\/posts\/530","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.cybermedian.com\/id\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.cybermedian.com\/id\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.cybermedian.com\/id\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.cybermedian.com\/id\/wp-json\/wp\/v2\/comments?post=530"}],"version-history":[{"count":4,"href":"https:\/\/www.cybermedian.com\/id\/wp-json\/wp\/v2\/posts\/530\/revisions"}],"predecessor-version":[{"id":10022,"href":"https:\/\/www.cybermedian.com\/id\/wp-json\/wp\/v2\/posts\/530\/revisions\/10022"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.cybermedian.com\/id\/wp-json\/wp\/v2\/media\/1383"}],"wp:attachment":[{"href":"https:\/\/www.cybermedian.com\/id\/wp-json\/wp\/v2\/media?parent=530"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.cybermedian.com\/id\/wp-json\/wp\/v2\/categories?post=530"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.cybermedian.com\/id\/wp-json\/wp\/v2\/tags?post=530"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}