[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"blog-cats-ngidenet":3,"blog-detail-ngidenet-apa-itu-persistance-layer":20},{"items":4},[5,9,13,17],{"name":6,"slug":7,"count":8},"Digital Marketing","digital-marketing",41,{"name":10,"slug":11,"count":12},"Programming","programming",56,{"name":14,"slug":15,"count":16},"Tips","tips",75,{"name":18,"slug":19,"count":8},"Web Development","web-development",{"id":21,"slug":22,"title":23,"short_text":24,"excerpt":24,"cover":25,"cover_image":25,"cover_alt_text":25,"category":14,"tags":26,"published_at":27,"created_at":28,"full_text":29,"meta_title":25,"meta_description":30,"faqs":31,"images":32,"views_count":33},491,"apa-itu-persistance-layer","Apa itu Persistance Layer?","Jadi apa itu persistance layer ? Persistance layer adalah sebuah layer khusus yang bertugas untuk melakukan tugas Create, Update, Delete data dalam sebuah kesatuan aplikasi. Persitance itu sendiri art",null,[],"2022-11-30T16:00:00Z","2026-07-14T04:39:43.934388Z","\u003Cp>Jadi apa itu \u003Ci>persistance layer\u003C\u002Fi>? \u003Ci>\u003Cstrong>Persistance layer\u003C\u002Fstrong>\u003C\u002Fi> adalah sebuah layer khusus yang bertugas untuk melakukan tugas \u003Cstrong>Create, Update, Delete\u003C\u002Fstrong> data dalam sebuah kesatuan aplikasi.\u003C\u002Fp>\u003Cp>\u003Ci>Persitance\u003C\u002Fi> itu sendiri artinya adalah pengolahan data baik itu \u003Cstrong>GET, CREATE, UPDATE\u003C\u002Fstrong> atau \u003Cstrong>DELETE (CRUD)\u003C\u002Fstrong>, entah itu data itu berbentuk database, file, json atau lainnya.\u003C\u002Fp>\u003Cp>\u003Ch3>Daftar Isi\u003C\u002Fh3>\u003Cp>Sedangkan \u003Ci>layer\u003C\u002Fi> artinya pembukus, atau lapisan. \u003C\u002Fp>\u003Cp>\u003Cp>\u003Cstrong>Fungsi \u003C\u002Fstrong>\u003Ci>\u003Cstrong>Persistance Layer\u003C\u002Fstrong>\u003C\u002Fi>\u003C\u002Fp>\u003Cp>\u003Ci>Persistance layer\u003C\u002Fi> berfungsi untuk memisahkan pemrosesan data dari \u003Ci>business layer\u003C\u002Fi>. Sehingga \u003Ci>business layer\u003C\u002Fi> menjadi lebih kurus dan bisa fokus ke tugas utamanya yaitu \u003Ci>data manipulation\u003C\u002Fi> \u002F memproses data sesuai kebutuhan.\u003C\u002Fp>\u003Cp>Fungsi lainnya adalah dengan membuat \u003Ci>persistance layer\u003C\u002Fi>, jika suatu saat terjadi perubahan sumber data, kalian tidak usah mengubah kodingan di \u003Ci>business layer\u003C\u002Fi>, tapi cukup dengan mengubah di bagian \u003Ci>persistance layer\u003C\u002Fi>.\u003C\u002Fp>\u003Cp>\u003Cstrong>Bisa kasi contoh tentang \u003C\u002Fstrong>\u003Ci>\u003Cstrong>Persistance layer\u003C\u002Fstrong>\u003C\u002Fi>\u003Cstrong>?\u003C\u002Fstrong>\u003C\u002Fp>\u003Cp>Contoh penggunaan \u003Ci>persistance layer\u003C\u002Fi> berkaitan erat dengan \u003Ci>repository design pattern\u003C\u002Fi>.\u003C\u002Fp>\u003Cp>\u003Cstrong>Contoh tanpa \u003C\u002Fstrong>\u003Ci>\u003Cstrong>persistance layer\u003C\u002Fstrong>\u003C\u002Fi>\u003Cstrong>.\u003C\u002Fstrong>\u003C\u002Fp>\u003Cpre>\u003Ccode>class ArticleController {\n    \u002F\u002F ... constructor etc ...\n    public function getArticle()\n    {\n        $id = $_GET['id'];\n        \u002F\u002F Cari dari database MySQL\n        $sql = \"SELECT * FROM article WHERE (...etc)\";\n        if (! $result = mysqli_query($this-&gt;connection, $sql)) {\n            \u002F\u002F Error\n            throw new \\Exception('Artikelnya gak ketemu pak');\n        }\n        $row = mysql_fetch_row($result);\n        \u002F\u002F Proses $row ...\n        \n        echo json_encode(['article' =&gt; $row]);\n    }\n    \u002F\u002F Rest of CRUD\n}\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>Misalnya kita buat sebuah respository dengan nama \u003Ci>\u003Cstrong>ArticleRepository\u003C\u002Fstrong>\u003C\u002Fi>\u003C\u002Fp>\u003Cpre>\u003Ccode>clas ArticleRepository {\n    public function findAll(){\n        \u002F\u002F Cari dari database MySQL\n        $sql = \"SELECT * FROM article WHERE (...etc)\";\n        if (! $result = mysqli_query($this-&gt;connection, $sql)) {\n            \u002F\u002F Error\n            throw new \\Exception('Artikelnya gak ketemu pak');\n        }\n        $row = mysql_fetch_row($result);\n\t\treturn $row;\n    }\n    \n}\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>Kemudian implementasi persistance layer di controller sebelumnya.\u003C\u002Fp>\u003Cpre>\u003Ccode>class ArticleController {\n    \u002F\u002F ... constructor etc ...\n    public function getArticle()\n    {\n        $id = $_GET['id'];\n        $repo = new ArticleRepository();        \n        $article = $repo-&gt;findById($id);\n        \n        return response()-&gt;json(['article' =&gt; $article]);\n    }\n}\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>Nah itulah contoh implementasi \u003Ci>persistance layer\u003C\u002Fi>.\u003C\u002Fp>\u003Cp>Jadi misalnya kita ingin mengubah cara kita mengambil data, kita tidak perlu lagi mengubah controller, melainkan cukup mengubah di Repository saja.\u003C\u002Fp>\u003Cp>Nah itulah penjelasan tentang persistance layer, semoga mencerahkan ya guys!\u003C\u002Fp>\n\u003C\u002Fp>\u003C\u002Fp>","Jadi apa itu persistance layer ? Persistance layer adalah sebuah layer khusus yang bertugas untuk melakukan tugas Create, Update, Delete data dalam sebuah kesat",[],[],0]