{"id":401,"date":"2026-04-07T16:31:53","date_gmt":"2026-04-07T16:31:53","guid":{"rendered":"https:\/\/www.hi-posts.com\/id\/object-oriented-analysis-design-ecommerce-case-study\/"},"modified":"2026-04-07T16:31:53","modified_gmt":"2026-04-07T16:31:53","slug":"object-oriented-analysis-design-ecommerce-case-study","status":"publish","type":"post","link":"https:\/\/www.hi-posts.com\/id\/object-oriented-analysis-design-ecommerce-case-study\/","title":{"rendered":"Studi Kasus Dunia Nyata: Cara Menerapkan Analisis dan Desain Berorientasi Objek pada Aplikasi E-Commerce yang Kompleks"},"content":{"rendered":"<p>Membangun platform ritel online yang skalabel memerlukan lebih dari sekadar menulis kode fungsional. Hal ini menuntut pendekatan terstruktur terhadap arsitektur perangkat lunak yang mampu menghadapi pertumbuhan, perubahan aturan bisnis, dan interaksi pengguna yang kompleks. Analisis dan Desain Berorientasi Objek (OOAD) menyediakan kerangka kerja untuk hal ini. Dengan memodelkan sistem sebagai kumpulan objek yang saling berinteraksi, pengembang dapat menciptakan aplikasi yang mudah dipelihara, fleksibel, dan tangguh. Panduan ini menguraikan penerapan praktis prinsip-prinsip OOAD dalam konteks e-commerce yang kompleks.<\/p>\n<p>Saat mendekati proyek berskala besar, fase awal melibatkan pemahaman ruang masalah tanpa terjerumus dalam detail implementasi. Tujuannya adalah mengidentifikasi entitas inti, perilaku mereka, dan hubungan di antara mereka. Proses ini memastikan bahwa perangkat lunak akhir selaras dengan persyaratan bisnis sambil mematuhi praktik terbaik rekayasa perangkat lunak.<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><img alt=\"Hand-drawn sketch infographic illustrating Object-Oriented Analysis and Design (OOAD) principles for a global e-commerce platform, featuring actors (Customer, Admin, Payment Gateway), use cases, core class diagrams (Product, Order, Cart, Payment), relationship types (association, aggregation, composition, inheritance), design patterns (Factory, Strategy, Observer), and a 7-step order lifecycle flow in 16:9 landscape format\" decoding=\"async\" src=\"https:\/\/www.hi-posts.com\/wp-content\/uploads\/2026\/04\/ooad-ecommerce-infographic-sketch-16x9-1.jpg\"\/><\/figure>\n<\/div>\n<h2>\ud83d\udccb Skenario: Platform Ritel Global<\/h2>\n<p>Bayangkan sebuah perusahaan meluncurkan toko daring e-commerce baru yang ditujukan untuk pasar internasional. Sistem harus menangani berbagai mata uang, katalog produk yang beragam, manajemen inventaris yang kompleks, dan pemrosesan pembayaran yang aman. Persyaratannya tidak statis; bisnis secara rutin menambahkan saluran penjualan baru, seperti aplikasi seluler dan pasar pihak ketiga.<\/p>\n<p>Dalam lingkungan ini, pendekatan prosedural sering kali menghasilkan kode spaghetti di mana logika bisnis tersebar di berbagai fungsi. OOAD mengatasi hal ini dengan mengenkapsulasi data dan perilaku bersama-sama. Bagian-bagian berikut menguraikan cara menerapkan OOAD pada skenario ini.<\/p>\n<h2>\ud83d\udd0d Fase 1: Analisis Berorientasi Objek<\/h2>\n<p>Analisis berfokus pada mendefinisikan<em>apa<\/em>yang perlu dilakukan sistem, bukan<em>bagaimana<\/em>sistem akan melakukannya. Fase ini sangat bergantung pada identifikasi aktor dan kasus penggunaan.<\/p>\n<h3>1. Mengidentifikasi Aktor<\/h3>\n<p>Aktor mewakili peran yang berinteraksi dengan sistem. Dalam konteks e-commerce, ini biasanya mencakup:<\/p>\n<ul>\n<li><strong>Pelanggan:<\/strong>Menjelajahi produk, mengelola keranjang belanja, dan menyelesaikan pembelian.<\/li>\n<li><strong>Administrator:<\/strong>Mengelola daftar produk, tingkat inventaris, dan akun pengguna.<\/li>\n<li><strong>Gerbang Pembayaran:<\/strong>Entitas eksternal yang bertanggung jawab memproses transaksi keuangan secara aman.<\/li>\n<li><strong>Sistem Inventaris:<\/strong>Melacak tingkat stok di berbagai gudang.<\/li>\n<li><strong>Layanan Notifikasi:<\/strong>Mengirimkan email atau SMS mengenai status pesanan.<\/li>\n<\/ul>\n<h3>2. Mendefinisikan Kasus Penggunaan<\/h3>\n<p>Kasus penggunaan menggambarkan interaksi spesifik antara aktor dan sistem. Daftar yang komprehensif memastikan tidak ada fungsionalitas yang terlewat. Kasus penggunaan utama untuk platform ini meliputi:<\/p>\n<ul>\n<li><strong>Pencarian Produk:<\/strong>Pengguna memfilter hasil berdasarkan kategori, harga, dan ketersediaan.<\/li>\n<li><strong>Tambah ke Keranjang:<\/strong>Item ditempatkan di area penahanan sementara sebelum pembayaran.<\/li>\n<li><strong>Proses Pembayaran:<\/strong> Memvalidasi detail kartu dan membebankan biaya kepada pengguna.<\/li>\n<li><strong>Perbarui Inventaris:<\/strong> Mengurangi jumlah stok setelah pesanan berhasil diselesaikan.<\/li>\n<li><strong>Buat Faktur:<\/strong> Membuat struk untuk pelanggan.<\/li>\n<\/ul>\n<p>Pada tahap ini, fokus tetap pada pengumpulan persyaratan. Diagram seperti Diagram Use Case membantu memvisualisasikan interaksi ini. Fase analisis memastikan bahwa tim desain memahami batas-batas sistem dan harapan pengguna.<\/p>\n<h2>\ud83c\udfd7\ufe0f Fase 2: Desain Berorientasi Objek<\/h2>\n<p>Desain menerjemahkan persyaratan dari fase analisis menjadi cetak biru untuk kode. Hal ini melibatkan identifikasi kelas, mendefinisikan atribut dan metodenya, serta menetapkan hubungan. Prinsip-prinsip inti yang memandu fase ini adalah Enkapsulasi, Abstraksi, Pewarisan, dan Polimorfisme.<\/p>\n<h3>1. Mengidentifikasi Kelas dan Objek<\/h3>\n<p>Kelas adalah cetak biru untuk objek. Dalam skenario e-commerce, kelas inti berikut muncul dari analisis:<\/p>\n<ul>\n<li><strong>Produk:<\/strong> Mewakili item yang tersedia untuk dijual.<\/li>\n<li><strong>Pelanggan:<\/strong> Mewakili pengguna yang terdaftar.<\/li>\n<li><strong>Pesanan:<\/strong> Mewakili transaksi yang dimulai oleh pelanggan.<\/li>\n<li><strong>Keranjang:<\/strong> Mewakili kumpulan item yang dipilih untuk dibeli.<\/li>\n<li><strong>Pembayaran:<\/strong> Mewakili detail transaksi keuangan.<\/li>\n<li><strong>Alamat Pengiriman:<\/strong> Mewakili lokasi pengiriman.<\/li>\n<\/ul>\n<h3>2. Mendefinisikan Atribut dan Metode<\/h3>\n<p>Setiap kelas harus mengenkapsulasi data yang relevan dengan domainnya dan mengekspos metode untuk memanipulasi data tersebut.<\/p>\n<p><strong>Kelas: Produk<\/strong><\/p>\n<ul>\n<li><em>Atribut:<\/em> productId, sku, name, description, price, stockQuantity, category, images.<\/li>\n<li><em>Metode:<\/em> calculateDiscount(), updateStock(), validateAvailability().<\/li>\n<\/ul>\n<p><strong>Kelas: Pesanan<\/strong><\/p>\n<ul>\n<li><em>Atribut:<\/em> orderId, tanggalPesanan, totalJumlah, status, referensiPelanggan, daftarItem.<\/li>\n<li><em>Metode:<\/em> hitungTotal(), tambahPajak(), prosesPengembalianDana(), updateStatus().<\/li>\n<\/ul>\n<p><strong>Kelas: Pelanggan<\/strong><\/p>\n<ul>\n<li><em>Atribut:<\/em> customerId, email, hashKataSandi, alamatPengiriman, riwayatPesanan.<\/li>\n<li><em>Metode:<\/em> daftarkan(), masuk(), tambahAlamat(), lihatRiwayatPesanan().<\/li>\n<\/ul>\n<h3>3. Menetapkan Hubungan<\/h3>\n<p>Memahami bagaimana kelas berinteraksi sangat penting. OOAD membedakan antara berbagai jenis hubungan:<\/p>\n<ul>\n<li><strong>Asosiasi:<\/strong> Hubungan umum antara dua kelas. Misalnya, seorang <code>Pelanggan<\/code> berasosiasi dengan beberapa <code>Pesanan<\/code>.<\/li>\n<li><strong>Agregasi:<\/strong> Hubungan &#8220;memiliki&#8221; di mana anak dapat eksis secara independen dari induk. Sebuah <code>Keranjang<\/code> berisi <code>Produk<\/code>, tetapi jika keranjang dihapus, produk masih ada di basis data.<\/li>\n<li><strong>Komposisi:<\/strong> Hubungan &#8220;memiliki&#8221; yang lebih kuat di mana anak bergantung pada induk. Sebuah <code>Pesanan<\/code> terdiri dari <code>ItemPesanan<\/code>. Jika <code>Pesanan<\/code> dibatalkan, maka <code>ItemPesanan<\/code> yang spesifik untuk instance pesanan tersebut tidak lagi valid.<\/li>\n<li><strong>Pewarisan:<\/strong> Sebuah kelas memperoleh properti dan perilaku dari kelas induk. <code>PelangganTerdaftar<\/code> dan <code>PenggunaTamu<\/code> mungkin mewarisi dari kelas dasar <code>Pengguna<\/code> kelas.<\/li>\n<\/ul>\n<h2>\ud83e\udde9 Pola Desain dalam Aksi<\/h2>\n<p>Pola desain adalah solusi yang telah terbukti untuk masalah yang berulang. Menerapkannya dalam OOAD mengurangi keterikatan dan meningkatkan fleksibilitas. Berikut adalah bagaimana pola-pola tertentu diterapkan pada arsitektur e-commerce.<\/p>\n<h3>1. Pola Pabrik<\/h3>\n<p>Saat membuat objek, sistem sering kali perlu memutuskan kelas spesifik mana yang akan diinstansiasi berdasarkan konfigurasi. Pola Pabrik menangani logika ini.<\/p>\n<ul>\n<li><strong>Skenario:<\/strong> Metode pembayaran yang berbeda memerlukan logika pemrosesan yang berbeda (misalnya, Kartu Kredit vs. PayPal).<\/li>\n<li><strong>Penerapan:<\/strong> Sebuah <code>PabrikPembayaran<\/code> kelas membuat objek <code>Pembayaran<\/code> yang sesuai. Bagian lain dari sistem berinteraksi dengan pabrik, bukan kelas pembayaran spesifik.<\/li>\n<\/ul>\n<h3>2. Pola Strategi<\/h3>\n<p>Pola ini mendefinisikan keluarga algoritma, mengenkapsulasi masing-masing, dan membuatnya dapat dipertukarkan.<\/p>\n<ul>\n<li><strong>Skenario:<\/strong> Aturan perhitungan pajak bervariasi menurut wilayah (misalnya, PPN di Eropa, Pajak Penjualan di AS).<\/li>\n<li><strong>Penerapan:<\/strong> Buatlah sebuah <code>StrategiPajak<\/code> antarmuka. Implementasi mencakup <code>StrategiPajakEropa<\/code> dan <code>StrategiPajakAS<\/code>. Kelas <code>Pesanan<\/code> memilih strategi yang benar berdasarkan alamat pengiriman.<\/li>\n<\/ul>\n<h3>3. Pola Pengamat<\/h3>\n<p>Mendefinisikan ketergantungan antara objek sehingga ketika satu objek mengubah keadaan, semua ketergantungannya diberitahu.<\/p>\n<ul>\n<li><strong>Skenario:<\/strong> Ketika status pesanan berubah menjadi &#8220;Dikirim,&#8221; beberapa sistem perlu bereaksi.<\/li>\n<li><strong>Penerapan:<\/strong> Kelas <code>Pesanan<\/code> bertindak sebagai Subjek. Kelas <code>LayananEmail<\/code>, <code>LayananPersediaan<\/code>, dan <code>LayananAnalitik<\/code> bertindak sebagai Pengamat. Ketika <code>Pesanan.setStatus(\"Dikirim\")<\/code> dipanggil, semua pengamat menerima notifikasi dan mengeksekusi logika spesifik mereka.<\/li>\n<\/ul>\n<h2>\ud83d\udcca Memetakan Logika Bisnis ke Kode<\/h2>\n<p>Untuk memvisualisasikan transisi dari persyaratan ke kode, pertimbangkan tabel berikut yang memetakan aturan bisnis ke struktur kelas.<\/p>\n<table>\n<thead>\n<tr>\n<th>Aturan Bisnis<\/th>\n<th>Konsep Analisis<\/th>\n<th>Implementasi Desain<\/th>\n<th>Pola yang Digunakan<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Pelanggan dapat memiliki beberapa alamat pengiriman.<\/td>\n<td>Asosiasi<\/td>\n<td><code>Pelanggan<\/code> kelas menyimpan daftar <code>AlamatPengiriman<\/code> objek.<\/td>\n<td>Komposisi<\/td>\n<\/tr>\n<tr>\n<td>Tarif pajak bervariasi berdasarkan lokasi.<\/td>\n<td>Variasi Algoritma<\/td>\n<td><code>Pesanan<\/code> mendelegasikan perhitungan pajak ke objek strategi tertentu.<\/td>\n<td>Strategi<\/td>\n<\/tr>\n<tr>\n<td>Diskon dapat diterapkan berdasarkan kode promosi.<\/td>\n<td>Modifikasi Perilaku<\/td>\n<td><code>Keranjang<\/code> memeriksa validitas <code>KodePromosi<\/code> objek sebelum menentukan total.<\/td>\n<td>Dekorator<\/td>\n<\/tr>\n<tr>\n<td>Metode pembayaran berbeda dalam logika pemrosesan.<\/td>\n<td>Pembuatan Objek<\/td>\n<td><code>PaymentFactory<\/code> menginisialisasi pemroses pembayaran yang benar.<\/td>\n<td>Pabrik<\/td>\n<\/tr>\n<tr>\n<td>Pembaruan pesanan harus memberi tahu sistem eksternal.<\/td>\n<td>Perubahan Status<\/td>\n<td><code>Pesanan<\/code> memberi tahu <code>Pengamat<\/code> layanan yang terdaftar.<\/td>\n<td>Pengamat<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>\ud83d\udd12 Enkapsulasi dan Integritas Data<\/h2>\n<p>Salah satu manfaat utama OOAD adalah enkapsulasi. Prinsip ini membatasi akses langsung ke beberapa komponen objek, yang sangat penting untuk integritas data.<\/p>\n<ul>\n<li><strong>Atribut Pribadi:<\/strong>Data sensitif seperti nomor kartu kredit atau hash kata sandi harus bersifat pribadi. Data tersebut tidak dapat diakses secara langsung dari luar kelas.<\/li>\n<li><strong>Metode Publik:<\/strong> Interaksi dengan data pribadi harus dilakukan melalui metode publik. Misalnya, sebuah <code>Pelanggan<\/code> kelas mungkin memiliki <code>setPassword()<\/code> metode yang melakukan hash pada input sebelum menyimpannya.<\/li>\n<li><strong>Validasi:<\/strong> Logika yang memastikan validitas data berada di dalam metode kelas. Sebuah <code>Produk<\/code> kelas memastikan bahwa <code>harga<\/code> tidak pernah negatif sebelum disimpan.<\/li>\n<\/ul>\n<p>Pendekatan ini mencegah kode eksternal memasukkan sistem ke dalam keadaan tidak valid. Jika seorang pengembang memodifikasi logika internal dari <code>Pesanan<\/code> kelas, kode eksternal yang berinteraksi dengannya tidak perlu diubah, selama antarmuka publik tetap konsisten.<\/p>\n<h2>\ud83d\udd04 Pemeliharaan dan Ekstensibilitas<\/h2>\n<p>Perangkat lunak jarang selesai. Ia berkembang. Sistem OOAD yang dirancang dengan baik memudahkan evolusi. Pertimbangkan skenario pemeliharaan berikut.<\/p>\n<h3>1. Menambahkan Jenis Produk Baru<\/h3>\n<p>Jika bisnis memutuskan untuk menjual unduhan digital bersama barang fisik, kelas <code>Produk<\/code> yang ada mungkin perlu penyesuaian.<\/p>\n<ul>\n<li><strong>Pewarisan:<\/strong> Buat <code>ProdukFisik<\/code> dan <code>DigitalProduct<\/code> kelas yang mewarisi dari <code>Product<\/code> kelas.<\/li>\n<li><strong>Polimorfisme:<\/strong> Metode seperti <code>calculateShipping()<\/code> dapat ditimpa. <code>PhysicalProduct<\/code> menghitung pengiriman berdasarkan berat, sedangkan <code>DigitalProduct<\/code> mengembalikan nol.<\/li>\n<\/ul>\n<h3>2. Mengubah Gerbang Pembayaran<\/h3>\n<p>Jika perusahaan beralih dari satu penyedia pembayaran ke penyedia lain, logika internal dari <code>Payment<\/code> kelas berubah.<\/p>\n<ul>\n<li><strong>Abstraksi:<\/strong> Karena sisa sistem berinteraksi dengan antarmuka (misalnya, <code>IPaymentProcessor<\/code>), implementasi dasarnya dapat ditukar tanpa memengaruhi <code>Order<\/code> kelas.<\/li>\n<\/ul>\n<h3>3. Skala Inventaris<\/h3>\n<p>Seiring katalog berkembang, kinerja menjadi perhatian.<\/p>\n<ul>\n<li><strong>Pencachingan:<\/strong> <code>Product<\/code> kelas mungkin terintegrasi dengan lapisan pencachingan untuk data yang sering diakses.<\/li>\n<li><strong>Desain Basis Data:<\/strong> Model objek menginformasikan skema basis data. Desain ternormalisasi mendukung relasi yang didefinisikan pada fase OOAD.<\/li>\n<\/ul>\n<h2>\u2696\ufe0f Tantangan dan Pertimbangan<\/h2>\n<p>Meskipun OOAD menawarkan keuntungan yang signifikan, pendekatan ini tidak tanpa tantangan. Memahami hal-hal ini membantu dalam membuat keputusan arsitektur yang informatif.<\/p>\n<h3>1. Keterikatan vs. Kohesi<\/h3>\n<p>Tujuannya adalah keterikatan rendah dan kohesi tinggi.<\/p>\n<ul>\n<li><strong>Kohesi Tinggi:<\/strong>Sebuah kelas harus memiliki satu tanggung jawab yang terdefinisi dengan jelas. Jika sebuah kelas menangani autentikasi pengguna dan pemrosesan pesanan secara bersamaan, maka kelas tersebut memiliki kohesi rendah dan harus dipisah.<\/li>\n<li><strong>Keterikatan Rendah:<\/strong>Kelas tidak boleh bergantung secara berat pada detail internal kelas lain. Gunakan antarmuka atau kelas abstrak untuk mendefinisikan ketergantungan.<\/li>\n<\/ul>\n<h3>2. Beban Objek<\/h3>\n<p>Pada sistem berkinerja tinggi, pembuatan jutaan objek dapat memengaruhi penggunaan memori. Meskipun jarang terjadi pada aplikasi web standar, hal ini menjadi pertimbangan untuk platform perdagangan real-time atau game. Dalam e-commerce, pertukaran antara fleksibilitas dan kinerja biasanya lebih mengutamakan fleksibilitas untuk logika bisnis.<\/p>\n<h3>3. Kompleksitas Desain<\/h3>\n<p>Over-engineering merupakan risiko. Terkadang, skrip prosedural sederhana sudah cukup untuk fitur kecil. OOAD paling bermanfaat untuk sistem kompleks dengan banyak komponen yang saling berinteraksi. Selalu evaluasi kompleksitas sebelum menerapkan pola desain yang berat.<\/p>\n<h2>\ud83d\udcc8 Perbandingan: OOAD vs. Pendekatan Prosedural<\/h2>\n<p>Untuk memperjelas nilai proposisi, bandingkan kedua pendekatan dalam konteks e-commerce.<\/p>\n<table>\n<thead>\n<tr>\n<th>Fitur<\/th>\n<th>Pendekatan Prosedural<\/th>\n<th>Pendekatan Berorientasi Objek<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>Penanganan Data<\/strong><\/td>\n<td>Data dan fungsi terpisah.<\/td>\n<td>Data dan fungsi dikemas dalam kelas.<\/td>\n<\/tr>\n<tr>\n<td><strong>Dapat Digunakan Kembali<\/strong><\/td>\n<td>Penggunaan kembali kode sulit; sering kali hanya salin-tempel.<\/td>\n<td>Pewarisan dan komposisi mendorong penggunaan kembali.<\/td>\n<\/tr>\n<tr>\n<td><strong>Pemeliharaan<\/strong><\/td>\n<td>Perubahan dapat merusak fungsi yang tidak terkait.<\/td>\n<td>Enkapsulasi mengisolasi perubahan pada kelas tertentu.<\/td>\n<\/tr>\n<tr>\n<td><strong>Skalabilitas<\/strong><\/td>\n<td>Menjadi kompleks seiring pertumbuhan sistem.<\/td>\n<td>Hierarki terstruktur mendukung pertumbuhan.<\/td>\n<\/tr>\n<tr>\n<td><strong>Pemodelan<\/strong><\/td>\n<td>Berfokus pada proses dan aliran data.<\/td>\n<td>Berfokus pada entitas dan perilaku dunia nyata.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>\ud83d\udee0\ufe0f Pertimbangan Implementasi<\/h2>\n<p>Saat beralih dari desain ke implementasi, beberapa keputusan teknis muncul. Keputusan ini tidak mengubah prinsip OOAD, tetapi memengaruhi bagaimana prinsip tersebut direalisasikan.<\/p>\n<ul>\n<li><strong>Pemilihan Bahasa:<\/strong>Pilih bahasa yang mendukung fitur OOAD secara native, seperti definisi kelas, antarmuka, dan kelas abstrak.<\/li>\n<li><strong>Pemetaan Database:<\/strong>Gunakan alat Pemetaan Objek-Relasional (ORM) untuk menjembatani kesenjangan antara model objek dan basis data relasional. Hal ini memungkinkan kode berinteraksi dengan objek, bukan dengan kueri SQL mentah.<\/li>\n<li><strong>Pengujian:<\/strong>Tes unit harus berfokus pada kelas individual dan metodenya. Tes integrasi harus memverifikasi interaksi antar kelas.<\/li>\n<li><strong>Dokumentasi:<\/strong>Gunakan diagram kelas dan diagram urutan untuk mendokumentasikan desain. Hal ini memastikan bahwa pengembang di masa depan memahami arsitektur tanpa perlu membaca setiap baris kode.<\/li>\n<\/ul>\n<h2>\ud83d\udd0d Pendalaman: Siklus Hidup Pesanan<\/h2>\n<p>Mari kita lacak siklus hidup sebuah <code>Pesanan<\/code> untuk melihat OOAD dalam aksi.<\/p>\n<ol>\n<li><strong>Pembuatan:<\/strong> Objek <code>Keranjang<\/code> memulai pembuatan sebuah <code>Pesanan<\/code> objek. Objek <code>Pesanan<\/code> menerima item dari keranjang.<\/li>\n<li><strong>Validasi:<\/strong> Objek <code>Pesanan<\/code> memvalidasi item. Objek ini memeriksa apakah stok masih tersedia dan apakah harga telah berubah sejak item ditambahkan.<\/li>\n<li><strong>Pembayaran:<\/strong> Objek <code>Pesanan<\/code> objek memanggil <code>Pembayaran<\/code> metode pemrosesan objek. Metode ini meneruskan jumlah total dan detail pembayaran.<\/li>\n<li><strong>Pembaruan Status:<\/strong> Jika pembayaran berhasil, <code>Pesanan<\/code> status berubah menjadi <code>Dibayar<\/code>. Hal ini memicu pola Pengamat.<\/li>\n<li><strong>Notifikasi:<\/strong> <code>LayananNotifikasi<\/code> menerima peristiwa dan mengirimkan email konfirmasi.<\/li>\n<li><strong>Persediaan:<\/strong> <code>LayananPersediaan<\/code> menerima peristiwa dan mengurangi jumlah stok untuk <code>Produk<\/code> ID tertentu.<\/li>\n<li><strong>Pengarsipan:<\/strong> Setelah periode tertentu, <code>Pesanan<\/code> objek mungkin dipindahkan ke status arsip untuk kepatuhan, menjaga data tanpa memengaruhi pemrosesan aktif.<\/li>\n<\/ol>\n<p> Siklus hidup ini menunjukkan bagaimana objek berkolaborasi untuk mencapai tujuan bisnis. Setiap objek menangani tanggung jawabnya sendiri, berkomunikasi melalui antarmuka yang terdefinisi dengan baik. Jika layanan notifikasi perlu mengubah penyedia emailnya, <code>Pesanan<\/code> kelas tidak perlu mengetahui perubahan tersebut. Kelas ini cukup memicu peristiwa.<\/p>\n<h2>\ud83d\ude80 Mengantisipasi Perubahan Arsitektur di Masa Depan<\/h2>\n<p>Merancang untuk masa depan adalah aspek kunci dari OOAD. Persyaratan bisnis akan bergeser. Saluran penjualan baru akan muncul. Arsitektur harus mampu mengakomodasi perubahan ini.<\/p>\n<ul>\n<li><strong>Segregasi Antarmuka:<\/strong>Pastikan kelas hanya bergantung pada antarmuka yang mereka gunakan. Hal ini mencegah perubahan pada satu bagian sistem merusak bagian lain yang tidak terkait.<\/li>\n<li><strong>Injeksi Ketergantungan:<\/strong>Lewatkan ketergantungan ke dalam objek daripada membuatnya secara internal. Hal ini memudahkan pengujian dan memungkinkan pertukaran implementasi tanpa mengubah logika inti.<\/li>\n<li><strong>Desain Berbasis Domain:<\/strong>Selaraskan model objek secara erat dengan domain bisnis. Gunakan terminologi yang dipahami oleh pemangku kepentingan bisnis. Hal ini mengurangi kesenjangan antara persyaratan dan kode.<\/li>\n<\/ul>\n<p>Dengan mematuhi prinsip-prinsip ini, platform e-commerce tetap adaptif. Baik menambahkan mata uang baru, metode pembayaran baru, atau peran pengguna baru, struktur inti mendukung ekspansi tersebut. Model berorientasi objek bertindak sebagai fondasi stabil di mana fitur dapat dibangun dan dimodifikasi dengan risiko minimal.<\/p>\n<p>Keunggulan teknis bukan hanya tentang menulis kode yang berfungsi hari ini. Ini tentang menciptakan sistem yang dapat berkembang besok. OOAD menyediakan alat untuk mencapai stabilitas dan fleksibilitas ini, memastikan bahwa perangkat lunak tetap menjadi aset berharga bagi bisnis jauh setelah peluncuran awal.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Membangun platform ritel online yang skalabel memerlukan lebih dari sekadar menulis kode fungsional. Hal ini menuntut pendekatan terstruktur terhadap arsitektur perangkat lunak yang mampu menghadapi pertumbuhan, perubahan aturan bisnis, dan&hellip;<\/p>\n","protected":false},"author":1,"featured_media":402,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_yoast_wpseo_title":"Studi Kasus OOAD: Desain Aplikasi E-commerce yang Kompleks \ud83d\uded2","_yoast_wpseo_metadesc":"Pelajari cara menerapkan Analisis dan Desain Berorientasi Objek pada aplikasi e-commerce yang kompleks. Panduan terperinci tentang kelas, pola, dan arsitektur.","inline_featured_image":false,"source_url":"","fifu_image_url":"","fifu_image_alt":"","_fifu_image_alt":"","fifu_alt":"","_fifu_alt":"","fifu_image_title":"","_fifu_image_title":"","fifu_input_alt":"","vp_image_hash":"","footnotes":""},"categories":[15],"tags":[6,14],"asset-category":[],"class_list":["post-401","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-object-oriented-analysis-and-design","tag-academic","tag-object-oriented-analysis-and-design"],"source_url":"","fifu_image_url":"","fifu_image_alt":"","vp_image_hash":"","yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Studi Kasus OOAD: Desain Aplikasi E-commerce yang Kompleks \ud83d\uded2<\/title>\n<meta name=\"description\" content=\"Pelajari cara menerapkan Analisis dan Desain Berorientasi Objek pada aplikasi e-commerce yang kompleks. Panduan terperinci tentang kelas, pola, dan arsitektur.\" \/>\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.hi-posts.com\/id\/object-oriented-analysis-design-ecommerce-case-study\/\" \/>\n<meta property=\"og:locale\" content=\"id_ID\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Studi Kasus OOAD: Desain Aplikasi E-commerce yang Kompleks \ud83d\uded2\" \/>\n<meta property=\"og:description\" content=\"Pelajari cara menerapkan Analisis dan Desain Berorientasi Objek pada aplikasi e-commerce yang kompleks. Panduan terperinci tentang kelas, pola, dan arsitektur.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.hi-posts.com\/id\/object-oriented-analysis-design-ecommerce-case-study\/\" \/>\n<meta property=\"og:site_name\" content=\"Hi Posts Indonesia\u2013 Artificial Intelligence News, Guides &amp; Knowledge\" \/>\n<meta property=\"article:published_time\" content=\"2026-04-07T16:31:53+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.hi-posts.com\/id\/wp-content\/uploads\/sites\/19\/2026\/04\/ooad-ecommerce-infographic-sketch-16x9-1.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1664\" \/>\n\t<meta property=\"og:image:height\" content=\"928\" \/>\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:label1\" content=\"Ditulis oleh\" \/>\n\t<meta name=\"twitter:data1\" content=\"\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimasi waktu membaca\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 menit\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.hi-posts.com\/id\/object-oriented-analysis-design-ecommerce-case-study\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.hi-posts.com\/id\/object-oriented-analysis-design-ecommerce-case-study\/\"},\"author\":{\"name\":\"vpadmin\",\"@id\":\"https:\/\/www.hi-posts.com\/id\/#\/schema\/person\/fb2c68d968e9062d9687a3664f4defcc\"},\"headline\":\"Studi Kasus Dunia Nyata: Cara Menerapkan Analisis dan Desain Berorientasi Objek pada Aplikasi E-Commerce yang Kompleks\",\"datePublished\":\"2026-04-07T16:31:53+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.hi-posts.com\/id\/object-oriented-analysis-design-ecommerce-case-study\/\"},\"wordCount\":1915,\"publisher\":{\"@id\":\"https:\/\/www.hi-posts.com\/id\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.hi-posts.com\/id\/object-oriented-analysis-design-ecommerce-case-study\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.hi-posts.com\/id\/wp-content\/uploads\/sites\/19\/2026\/04\/ooad-ecommerce-infographic-sketch-16x9-1.jpg\",\"keywords\":[\"academic\",\"object-oriented analysis and design\"],\"articleSection\":[\"Object-Oriented Analysis and Design\"],\"inLanguage\":\"id\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.hi-posts.com\/id\/object-oriented-analysis-design-ecommerce-case-study\/\",\"url\":\"https:\/\/www.hi-posts.com\/id\/object-oriented-analysis-design-ecommerce-case-study\/\",\"name\":\"Studi Kasus OOAD: Desain Aplikasi E-commerce yang Kompleks \ud83d\uded2\",\"isPartOf\":{\"@id\":\"https:\/\/www.hi-posts.com\/id\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.hi-posts.com\/id\/object-oriented-analysis-design-ecommerce-case-study\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.hi-posts.com\/id\/object-oriented-analysis-design-ecommerce-case-study\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.hi-posts.com\/id\/wp-content\/uploads\/sites\/19\/2026\/04\/ooad-ecommerce-infographic-sketch-16x9-1.jpg\",\"datePublished\":\"2026-04-07T16:31:53+00:00\",\"description\":\"Pelajari cara menerapkan Analisis dan Desain Berorientasi Objek pada aplikasi e-commerce yang kompleks. Panduan terperinci tentang kelas, pola, dan arsitektur.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.hi-posts.com\/id\/object-oriented-analysis-design-ecommerce-case-study\/#breadcrumb\"},\"inLanguage\":\"id\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.hi-posts.com\/id\/object-oriented-analysis-design-ecommerce-case-study\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"id\",\"@id\":\"https:\/\/www.hi-posts.com\/id\/object-oriented-analysis-design-ecommerce-case-study\/#primaryimage\",\"url\":\"https:\/\/www.hi-posts.com\/id\/wp-content\/uploads\/sites\/19\/2026\/04\/ooad-ecommerce-infographic-sketch-16x9-1.jpg\",\"contentUrl\":\"https:\/\/www.hi-posts.com\/id\/wp-content\/uploads\/sites\/19\/2026\/04\/ooad-ecommerce-infographic-sketch-16x9-1.jpg\",\"width\":1664,\"height\":928},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.hi-posts.com\/id\/object-oriented-analysis-design-ecommerce-case-study\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.hi-posts.com\/id\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Studi Kasus Dunia Nyata: Cara Menerapkan Analisis dan Desain Berorientasi Objek pada Aplikasi E-Commerce yang Kompleks\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.hi-posts.com\/id\/#website\",\"url\":\"https:\/\/www.hi-posts.com\/id\/\",\"name\":\"Hi Posts Indonesia\u2013 Artificial Intelligence News, Guides &amp; Knowledge\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.hi-posts.com\/id\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.hi-posts.com\/id\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"id\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.hi-posts.com\/id\/#organization\",\"name\":\"Hi Posts Indonesia\u2013 Artificial Intelligence News, Guides &amp; Knowledge\",\"url\":\"https:\/\/www.hi-posts.com\/id\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"id\",\"@id\":\"https:\/\/www.hi-posts.com\/id\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.hi-posts.com\/id\/wp-content\/uploads\/sites\/19\/2026\/03\/hi-posts-logo.png\",\"contentUrl\":\"https:\/\/www.hi-posts.com\/id\/wp-content\/uploads\/sites\/19\/2026\/03\/hi-posts-logo.png\",\"width\":801,\"height\":801,\"caption\":\"Hi Posts Indonesia\u2013 Artificial Intelligence News, Guides &amp; Knowledge\"},\"image\":{\"@id\":\"https:\/\/www.hi-posts.com\/id\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.hi-posts.com\/id\/#\/schema\/person\/fb2c68d968e9062d9687a3664f4defcc\",\"name\":\"vpadmin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"id\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/56e0eb902506d9cea7c7e209205383146b8e81c0ef2eff693d9d5e0276b3d7e3?s=96&d=mm&r=g\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/56e0eb902506d9cea7c7e209205383146b8e81c0ef2eff693d9d5e0276b3d7e3?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/56e0eb902506d9cea7c7e209205383146b8e81c0ef2eff693d9d5e0276b3d7e3?s=96&d=mm&r=g\",\"caption\":\"vpadmin\"},\"sameAs\":[\"https:\/\/www.hi-posts.com\"],\"url\":\"https:\/\/www.hi-posts.com\/id\/author\/vpadmin\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Studi Kasus OOAD: Desain Aplikasi E-commerce yang Kompleks \ud83d\uded2","description":"Pelajari cara menerapkan Analisis dan Desain Berorientasi Objek pada aplikasi e-commerce yang kompleks. Panduan terperinci tentang kelas, pola, dan arsitektur.","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.hi-posts.com\/id\/object-oriented-analysis-design-ecommerce-case-study\/","og_locale":"id_ID","og_type":"article","og_title":"Studi Kasus OOAD: Desain Aplikasi E-commerce yang Kompleks \ud83d\uded2","og_description":"Pelajari cara menerapkan Analisis dan Desain Berorientasi Objek pada aplikasi e-commerce yang kompleks. Panduan terperinci tentang kelas, pola, dan arsitektur.","og_url":"https:\/\/www.hi-posts.com\/id\/object-oriented-analysis-design-ecommerce-case-study\/","og_site_name":"Hi Posts Indonesia\u2013 Artificial Intelligence News, Guides &amp; Knowledge","article_published_time":"2026-04-07T16:31:53+00:00","og_image":[{"width":1664,"height":928,"url":"https:\/\/www.hi-posts.com\/id\/wp-content\/uploads\/sites\/19\/2026\/04\/ooad-ecommerce-infographic-sketch-16x9-1.jpg","type":"image\/jpeg"}],"author":"vpadmin","twitter_card":"summary_large_image","twitter_misc":{"Ditulis oleh":false,"Estimasi waktu membaca":"10 menit"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.hi-posts.com\/id\/object-oriented-analysis-design-ecommerce-case-study\/#article","isPartOf":{"@id":"https:\/\/www.hi-posts.com\/id\/object-oriented-analysis-design-ecommerce-case-study\/"},"author":{"name":"vpadmin","@id":"https:\/\/www.hi-posts.com\/id\/#\/schema\/person\/fb2c68d968e9062d9687a3664f4defcc"},"headline":"Studi Kasus Dunia Nyata: Cara Menerapkan Analisis dan Desain Berorientasi Objek pada Aplikasi E-Commerce yang Kompleks","datePublished":"2026-04-07T16:31:53+00:00","mainEntityOfPage":{"@id":"https:\/\/www.hi-posts.com\/id\/object-oriented-analysis-design-ecommerce-case-study\/"},"wordCount":1915,"publisher":{"@id":"https:\/\/www.hi-posts.com\/id\/#organization"},"image":{"@id":"https:\/\/www.hi-posts.com\/id\/object-oriented-analysis-design-ecommerce-case-study\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hi-posts.com\/id\/wp-content\/uploads\/sites\/19\/2026\/04\/ooad-ecommerce-infographic-sketch-16x9-1.jpg","keywords":["academic","object-oriented analysis and design"],"articleSection":["Object-Oriented Analysis and Design"],"inLanguage":"id"},{"@type":"WebPage","@id":"https:\/\/www.hi-posts.com\/id\/object-oriented-analysis-design-ecommerce-case-study\/","url":"https:\/\/www.hi-posts.com\/id\/object-oriented-analysis-design-ecommerce-case-study\/","name":"Studi Kasus OOAD: Desain Aplikasi E-commerce yang Kompleks \ud83d\uded2","isPartOf":{"@id":"https:\/\/www.hi-posts.com\/id\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.hi-posts.com\/id\/object-oriented-analysis-design-ecommerce-case-study\/#primaryimage"},"image":{"@id":"https:\/\/www.hi-posts.com\/id\/object-oriented-analysis-design-ecommerce-case-study\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hi-posts.com\/id\/wp-content\/uploads\/sites\/19\/2026\/04\/ooad-ecommerce-infographic-sketch-16x9-1.jpg","datePublished":"2026-04-07T16:31:53+00:00","description":"Pelajari cara menerapkan Analisis dan Desain Berorientasi Objek pada aplikasi e-commerce yang kompleks. Panduan terperinci tentang kelas, pola, dan arsitektur.","breadcrumb":{"@id":"https:\/\/www.hi-posts.com\/id\/object-oriented-analysis-design-ecommerce-case-study\/#breadcrumb"},"inLanguage":"id","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.hi-posts.com\/id\/object-oriented-analysis-design-ecommerce-case-study\/"]}]},{"@type":"ImageObject","inLanguage":"id","@id":"https:\/\/www.hi-posts.com\/id\/object-oriented-analysis-design-ecommerce-case-study\/#primaryimage","url":"https:\/\/www.hi-posts.com\/id\/wp-content\/uploads\/sites\/19\/2026\/04\/ooad-ecommerce-infographic-sketch-16x9-1.jpg","contentUrl":"https:\/\/www.hi-posts.com\/id\/wp-content\/uploads\/sites\/19\/2026\/04\/ooad-ecommerce-infographic-sketch-16x9-1.jpg","width":1664,"height":928},{"@type":"BreadcrumbList","@id":"https:\/\/www.hi-posts.com\/id\/object-oriented-analysis-design-ecommerce-case-study\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.hi-posts.com\/id\/"},{"@type":"ListItem","position":2,"name":"Studi Kasus Dunia Nyata: Cara Menerapkan Analisis dan Desain Berorientasi Objek pada Aplikasi E-Commerce yang Kompleks"}]},{"@type":"WebSite","@id":"https:\/\/www.hi-posts.com\/id\/#website","url":"https:\/\/www.hi-posts.com\/id\/","name":"Hi Posts Indonesia\u2013 Artificial Intelligence News, Guides &amp; Knowledge","description":"","publisher":{"@id":"https:\/\/www.hi-posts.com\/id\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.hi-posts.com\/id\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"id"},{"@type":"Organization","@id":"https:\/\/www.hi-posts.com\/id\/#organization","name":"Hi Posts Indonesia\u2013 Artificial Intelligence News, Guides &amp; Knowledge","url":"https:\/\/www.hi-posts.com\/id\/","logo":{"@type":"ImageObject","inLanguage":"id","@id":"https:\/\/www.hi-posts.com\/id\/#\/schema\/logo\/image\/","url":"https:\/\/www.hi-posts.com\/id\/wp-content\/uploads\/sites\/19\/2026\/03\/hi-posts-logo.png","contentUrl":"https:\/\/www.hi-posts.com\/id\/wp-content\/uploads\/sites\/19\/2026\/03\/hi-posts-logo.png","width":801,"height":801,"caption":"Hi Posts Indonesia\u2013 Artificial Intelligence News, Guides &amp; Knowledge"},"image":{"@id":"https:\/\/www.hi-posts.com\/id\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.hi-posts.com\/id\/#\/schema\/person\/fb2c68d968e9062d9687a3664f4defcc","name":"vpadmin","image":{"@type":"ImageObject","inLanguage":"id","@id":"https:\/\/secure.gravatar.com\/avatar\/56e0eb902506d9cea7c7e209205383146b8e81c0ef2eff693d9d5e0276b3d7e3?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/56e0eb902506d9cea7c7e209205383146b8e81c0ef2eff693d9d5e0276b3d7e3?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/56e0eb902506d9cea7c7e209205383146b8e81c0ef2eff693d9d5e0276b3d7e3?s=96&d=mm&r=g","caption":"vpadmin"},"sameAs":["https:\/\/www.hi-posts.com"],"url":"https:\/\/www.hi-posts.com\/id\/author\/vpadmin\/"}]}},"_links":{"self":[{"href":"https:\/\/www.hi-posts.com\/id\/wp-json\/wp\/v2\/posts\/401","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hi-posts.com\/id\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hi-posts.com\/id\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hi-posts.com\/id\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hi-posts.com\/id\/wp-json\/wp\/v2\/comments?post=401"}],"version-history":[{"count":0,"href":"https:\/\/www.hi-posts.com\/id\/wp-json\/wp\/v2\/posts\/401\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hi-posts.com\/id\/wp-json\/wp\/v2\/media\/402"}],"wp:attachment":[{"href":"https:\/\/www.hi-posts.com\/id\/wp-json\/wp\/v2\/media?parent=401"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hi-posts.com\/id\/wp-json\/wp\/v2\/categories?post=401"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hi-posts.com\/id\/wp-json\/wp\/v2\/tags?post=401"},{"taxonomy":"asset-category","embeddable":true,"href":"https:\/\/www.hi-posts.com\/id\/wp-json\/wp\/v2\/asset-category?post=401"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}