kusaeniBlog milik Kusaeni, menulis apa saja terutama tentang info internet, fotografi, traveling, dan resensi buku2023-12-25T05:41:10Zhttps://kusaeni.com/Kusaenikus@kusaeni.comGiveaway buku Simpleman2022-09-02T00:00:00Zhttps://kusaeni.com/jurnal/give-away-buku/<div id="allbox">
<div id="boxsatu"><img class="coverX" src="https://ik.imagekit.io/hjse9uhdjqd/tr:n-cover/buku/sewuDino_lV8ZEwbP7.jpg" /></div>
<div id="boxdua"><img class="coverX" src="https://ik.imagekit.io/hjse9uhdjqd/tr:n-cover/buku/janurIreng_aSww35pkIg4.jpg" /></div>
<div id="boxtiga"><img class="coverX" src="https://ik.imagekit.io/hjse9uhdjqd/tr:n-cover/buku/ranjat-kembang_EQYxzyfUuZx.jpg" /></div>
<div id="boxempat"><img class="coverX" src="https://ik.imagekit.io/hjse9uhdjqd/tr:n-cover/buku/karungNyawa_5-MZyq9Lp.jpg" /></div>
<div id="boxlima"><img class="coverX" src="https://ik.imagekit.io/hjse9uhdjqd/tr:n-cover/buku/Gending_Pencabut_Nyawa_1kcaLNm3cS.jpg" /></div>
</div>
<p>Saya adalah orang yang tidak pandai dalam mengelola buku. Biasanya setelah selesai terbaca, buku itu akan terlempar entah kemana.</p>
<p>Di lain waktu saat melihat Google Search Console, saya melihat bahwa pengunjung jurnal ini (<em>yang tidak seberapa banyak</em>) datang melalui pencarian di Google dengan <em>keywords</em> seperti <mark>janur ireng pdf</mark>, <mark>novel ranjat kembang pdf</mark>, <mark>download novel janur ireng pdf</mark> dan sebagainya.</p>
<p>Oleh karena itu saya memutuskan daripada buku yang sudah selesai saya baca rusak percuma, maka lebih baik diberikan kepada yang ingin membacanya. Buku - buku yang akan saya lepas adalah 3 buku karya Simpleman, 1 buku karya Soji Shimada, 2 buku karya Keigo Highasino, 1 buku karya Handhita Mohamad, dan 1 buku karya Diosetta.</p>
<p>Kondisi buku masih lumayan bagus dan layak, mungkin ada sedikit kusut dan kotor dibeberapa halaman.</p>
<p>Bagi kalian yang menginginkan <a href="/baca">buku - buku</a> tersebut, silakan mengisi form <em>giveaway</em> dibawah ini. Periode pendaftaran sampai dengan bukunya habis.</p>
<h3>Form ikut serta giveaway</h3>
<!--
<div class="formGet">
<form class="getForm" accept-charset="UTF-8" action="https://getform.io/f/2662bfe2-dc8e-4758-968b-83c72161f407" method="POST" enctype="multipart/form-data" target="_blank">
<label>Nama: </label>
<input type="text" name="name" placeholder="Namamu">
<label>Email: </label>
<input type="email" name="email" placeholder="Emailmu">
<label>Twitter atau No Whatsapp (<small>jika ada</small>): </label>
<p class="sidenote small">Jika kamu memilih untuk menuliskan nomer telepon, jangan khawatir nomer telepon itu akan aman. Tidak akan dipergunakan untuk kegiatan melanggar hukum dan privasi.</p>
<input type="text" name="twitter" placeholder="@twitter atau 08XXXXXXXX">
<label>Buku yg diinginkan: </label>
<p class="sidenote small">Silakan kunjungi <a href="/baca">halaman baca</a> untuk melihat cover bukunya</p>
<select class="sbuku" name="buku">
<option value="sold out">Mohon maaf semua buku sudah terkirim</option>
</select>
<label>Alasan kenapa kamu yang harus dikirim:</label>
<textarea name="alasan" rows="6"></textarea>
<button type="submit">Kirim</button>
</form>
</div>
-->
<p><strong><mark>Mohon maaf, semua buku sudah terkirim</mark></strong></p>
<p>Kamu bisa <em>follow</em> kami di <a href="https://twitter.com/kuspoes">Twitter</a> atau Mastodon di <a href="https://kauaku.us/@poes">@poes@kauaku.us</a> untuk mendapatkan informasi <em>giveaway</em> selanjutnya.</p>
<p class="sidenote">Untuk peserta yang beruntung akan dihubungi melalui email , akun twitter atau nomer <i>handphone</i>. Pengiriman melalui layanan POS Indonesia. <i>Giveaway</i> ini tidak dipungut biaya apapun.</p>
<p class="sidenote">Keputusan atas pemenang tidak bisa diganggu gugat!</p>
<h3>Update</h3>
<ul>
<li>14 September 2022 : Buku Murder in The Croocked House sudah diklaim oleh Dryanka,</li>
<li>14 September 2022 : Buku Sewu Dino sudah diklaim oleh Vera,</li>
<li>25 September 2022 : Buku Malice sudah diklaim Jauhari,</li>
<li>20 Desember 2022 : Buku Ranjat Kembang, Janur Ireng, dan Newcomer <i>sold out</i></li>
<li>6 Januari 2023 : Buku Gending Pencabut Nyawa sudah diklaim oleh Bella,</li>
<li>30 April 2023 : Buku Karung Nyawa sudah diklaim oleh Rifqi.</li>
</ul>
<p> </p>Gending Pencabut Nyawa2022-07-04T00:00:00Zhttps://kusaeni.com/baca/gending-alas-mayit/<div class="info">
<p><b>Hai!</b> : ingin mendapatkan buku ini? Silakan ikut <a href="https://kusaeni.com/jurnal/give-away-buku/">giveaway</a> buku ini. Terbatas.</p>
</div>
<p>Saya sama sekali tidak familiar dengan nama Diosetta pada awalnya, namun ketika Simpleman meng-<em>retweet posting</em>-an promo buku Diosetta di Twitter, membuat saya memutuskan untuk membelinya.</p>
<p>Dengan ekspektasi kualitas cerita seperti Simpleman.</p>
<h3>Gending Alas Mayit</h3>
<p>Windualit adalah nama desa terpencil dan jauh dari <em>peradaban</em> modern yang terletak di lereng Gunung Merapi.</p>
<p>Desa yang tenteram ini tiba - tiba geger dengan peristiwa penganiayaan dan pengusiran salah satu warganya yang bernama Laksmi. Perempuan ini dituduh berzina dan mengfitnah Aswangga, seorang juragan kaya raya yang tinggal di desa tersebut.</p>
<p>Atas kesepakatan warga, Laksmi kemudian mendapatkan hukuman diusir dari Desa Windualit.</p>
<p>Beberapa minggu setelah peristiwa pengusiran Laksmi, beredar kabar bahwa anak buah Aswangga membawa Laksmi ke dalam hutan terlarang di perbatasan desa. Disana Laksmi diperkosa dan dibunuh. Namun tidak ada satupun penduduk desa yang berani bersuara.</p>
<p>Di malam bulan purnama, terdengar suara nyaring gamelan. Beberapa warga mencari tau darimana suara suara itu berasal, yang ternyata berasal dari dalam hutan terlarang. Saat tengah malam terdengar teriakan dari rumah Aswangga, seorang bocah laki - laki mendobrak pintu untuk keluar rumah dan menari kesetanan mengikuti alunan suara gamelan.</p>
<p>Warga yang melihat hal tersebut kemudian membantu Aswangga untuk menangkap dan menghentikan si anak, namun entah bagaimana para warga tidak mampu. Si anak tertawa keras dan kemudian memutar kepalanya ke belakang hingga mematahkan batang lehernya.</p>
<p>Dengan leher yang patah, si Anak masih mampu menari dan kemudian berlari ke arah hutan. Para warga berlari mengejar namun si Anak telah menghilang di kegelapan hutan.</p>
<p>Esok harinya dilakukan pencarian dan ditemukan jasad si Anak tergeletak di pinggir hutan dengan kondisi mengenaskan. Kepala, tangan, badan, dan kaki berserakan terpencar. Warga ketakutan menganggap ini adalah kutukan.</p>
<p>Kutukan ini menyerang warga disetiap malam bulan purnama. Suara gending terdengar dari dalam hutan. Setiap warga yang mendengar suara alunan gamelan akan terpengaruh dan menari - nari diakhiri dengan tulang - tulang yang patah bahkan nyawa melayang.</p>
<p>Keadaan desa semakin mencekam karena kutukan. Para warga sudah berupaya mendatangkan dukun untuk meenangkal kutukan namun tidak memberikan hasil yang diharapkan. Bahkan para dukun itu sudah menjadi tumbal dimangsa kutukan Gending dari hutan.</p>
<p>Satu per satu warga menjadi mangsa dari kutukan suara gamelan ini.</p>
<p>Lalu bagaimanakah nasib warga desa lainnya? Apakah kutukan ini bisa dilawan? dan apakah ada kenyataan yang tersembunyi di balik kutukan ini?</p>
<h3>Catatan</h3>
<p>Pembelian buku ini dalam bentuk <em>pre order</em> dari Tokopedia. Estimasi pengiriman sekitar tanggal 28 Agustus 2022, namun di pertengahan bulan sudah dikirim.</p>
<p>Sambil menunggu <em>pre order</em> dikirim, saya membaca kisah Gending ini di utas Twitter milik Diosetta yang bisa dibaca melalui tautan berikut ini:</p>
<blockquote class="twitter-tweet" data-lang="id" data-dnt="true" data-theme="light"><p lang="in" dir="ltr">Gending Alas Mayit<br><br>Desa Windualit , Sebuah desa terpencil yang jauh dari sosok hiruk pikuk Perkotaan. Pemandangan indah gunung merapi selalu setia menemani pagi setiap warga di desa ini.<a href="https://twitter.com/hashtag/ceritahorror?src=hash&ref_src=twsrc%5Etfw">#ceritahorror</a> <a href="https://twitter.com/hashtag/bacahorror?src=hash&ref_src=twsrc%5Etfw">#bacahorror</a> <a href="https://twitter.com/bacahorror?ref_src=twsrc%5Etfw">@bacahorror</a> <a href="https://twitter.com/hashtag/gendingalasmayit?src=hash&ref_src=twsrc%5Etfw">#gendingalasmayit</a> <a href="https://t.co/q7JedfTCGK">pic.twitter.com/q7JedfTCGK</a></p>— Diosetta (@diosetta) <a href="https://twitter.com/diosetta/status/1413344287572434944?ref_src=twsrc%5Etfw">9 Juli 2021</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
<p>Setelah membaca utas di Twitter dan membandingkan dengan isi bukunya, ternyata tidak ada perubahan yang signifikan kecuali penambahan 1 chapter diakhir mengenai nasib Laksmi.</p>
<p>Salah satu hal yang kurang dan terasa mengganjal adalah beberapa dialog dalam bahasa Jawa di buku ini tidak mengena. <em>Setting</em> lokasi cerita yang berada di daerah Jogyakarta seharusnya bisa mempergunakan tingkatan bahasa Jawa yang tepat (<a href="https://id.wikipedia.org/wiki/Krama">Krama-Madya-Ngoko</a>), alih - alih seperti itu malah terkesan seperti diucapkan oleh orang Jawa biasa (yang tidak mengerti tata krama).</p>
<p>Secara keseluruhan buku ini lumayan, cocok untuk pemula yang baru terjun ke dunia cerita horor Jawa. Selain ceritanya yang ringan (dan pada beberapa hal <em>berlebihan</em>), plot-nya pun gampang ditebak. Buku Diosetta ini mengkombinasikan horor - komedi dan sedikit <em>romance</em>. Harapan saya kedepannya bisa membaca karya - karya Diosetta yang lebih daripada ini.</p>
<p>Saya membutuhkan waktu kurang dari 45 menit untuk menyelesaikan buku ini. Mungkin karena isinya hampir sama persis dengan utas yang sudah dibaca sehingga otak tak perlu lagi memproses cerita.</p>
<p>Namun bagi yang suka mikir dalam kebingungan dan kengerian, silakan baca buku - buku dari Simpleman.</p>
<p %="" endrelasi="" %="">{% relasi "sewuDino_lV8ZEwbP7.jpg", "Sewu Dino", "simpleman", "/baca/sewudino" %}
Dia adalah Dela Atmojo, anak yang harus kamu rawat sampai waktunya tiba. Ia dikirimi kutukan santet sewu dino. Santet yang sudah merenggut nyawa hampir seluruh anggota keluarga Atmojo.</p>
<p %="" endrelasi="" %="">{% relasi "janurIreng_aSww35pkIg4.jpg", "Janur Ireng", "simpleman", "/baca/janurireng" %}
Ingatan hitam yang menyeruak dan membuka tabir gelap sebuah peristiwa masa lampau yang perlahan merangkak naik dan menunjukkan kilasan kepedihan dari sebuah perjanjian sedarah yang kental. Kisah dalam buku ini jauh lebih kelam dan gelap dibandingkan dengan Sewu Dino.</p>
<p %="" endrelasi="" %="">{% relasi "ranjat-kembang_EQYxzyfUuZx.jpg", "Ranjat Kembang", "simpleman", "/baca/ranjatkembang" %}
Setelah memakan ratusan nyawa, perseteruan Trah Pitu menjalar begitu jauh, meneror keturunan termuda dan orang - orang di luar lingkaran keluarga. Buku ini membawa 3 pintu cerita yaitu Padusan Pituh (Mira), Lemah Layat (Agus), dan Kembang Wijayakusuma (Dela Atmojo)</p>
<p %="" endrelasi="" %="">{% relasi "book15_LKlbAIFWW.png", "Kudro", "simpleman", "https://www.wattpad.com/1098009727-kudro-laweh" %}
Bayu Saseno menyelam dalam ingatan masalalunya, mencari dimana keberadaannya dalam tatanan bunga Wijayakusuma.</p>Malice : Catatan Pembunuhan sang Novelis2021-11-07T00:00:00Zhttps://kusaeni.com/baca/malice/<div class="info">
<p><b>Hai!</b> : ingin mendapatkan buku ini? Silakan ikut <a href="https://kusaeni.com/jurnal/give-away-buku/">giveaway</a> buku ini. Terbatas.</p>
</div>
<p>Ini adalah buku kedua dari Keigo Higashino yang saya beli setelah <a href="/baca/thenewcomer">The Newcomer</a>. Ditasbihkan sebagai salah satu buku <em>bestselling</em> dan menjadi buku rujukan untuk dibaca oleh para novelist di Jepang, membuat saya bereskpektasi tinggi untuk memiliki dan membacanya.</p>
<p %="" endrelasi="" %="">{% relasi "thenewcomer_jNnlkJXcfB.jpg", "The Newcomer", "Keigo Higashino", "/baca/thenewcomer" %}
Seorang wanita terbunuh di Nihonbashi, detektif datang menyelidikinya dan ditemukan banyak orang bisa menjadi tersangka</p>
<p>Untungnya buku ini tersedia di Bukukita dan bisa dibeli tanpa harus menunggu pre-order (menunggu cetak). Saya sudah membaca buku ini sejak lama, namun baru berkesempatan menulis sekarang.</p>
<hr>
<p><span class="dc">O</span>samu Nonoguchi adalah seorang pensiunan guru yang beralih profesi menjadi penulis buku cerita anak - anak. Menjadi penulis buku anak - anak bukanlah keinginan Osamu pada awalnya, melainkan menjadi novelis adalah ambisinya.</p>
<p>Masuk ke dalam dunia penulis di Jepang sangat sulit jika tanpa rekomendasi atau bantuan dari orang dalam. Osamu bersyukur telah dibantu oleh Kunihiko Hidaka, satu dari sedikit teman masa kecil Osamu.</p>
<p>Hidaka adalah seoarang novelis terkenal di Jepang pada saat itu.</p>
<p>Hidaka dan istrinya berencana untuk pindah ke Kanada untuk mencari ketenangan dalam menulis novel dan kemungkinan akan menetap disana selamanya. Sore hari sebelum keberangkatan ke Kanada, Osamu datang berkunjung dan diterima oleh istri Hidaka karena sang suami sedang menerima tamu lain.</p>
<p>Malamnya, Osamu mendapatkan telepon dari Hidaka agar balik ke rumah Hidaka. Di depan rumah yang gelap gulita, Osamu bertemu dengan istri Hidaka yang baru saja datang dengan naik taksi dari hotel tempat menginap sementara keluarga Hidaka. Bersama mereka masuk ke dalam rumah dan menemukan Hidaka telah tewas terbunuh di dalam ruang kerjanya yang terkunci dari dalam.</p>
<p>Istri Hidaka kemudian memanggil pihak kepolisian yang menugaskan Detektif Kaga untuk menyelidiki kasus kematian Kunihiko Hidaka.</p>
<hr>
<p>Novel ini ditulis dalam sudut pandang 2 orang yaitu Osamu Nonoguchi dan Detektif Kaga.</p>
<p>Osamu menceritakan detil semua kejadian yang dia alami dalam narasi yang kuat dan runut. Sedangkan bagian Kaga (sang protagonis) menceritakan tentang penyelidikan yang sudah dia lakukan dan beberapa <em>flashback</em> masa lalu. Seperti biasa Kaga memiliki metode penyelidikan rasa kekeluargaan untuk menyelesaikan sebuah kasus. Meski terkesan sangat pengertian dan simpati yang mendalam, Kaga memiliki metode tertentu untuk melihat fakta dari balik kebohongan - kebohongan.</p>
<p>Alih - alih berupa novel kriminal, buku ini lebih menampilkan konflik permainan psikologi yang kuat.</p>
<p>Ada banyak <em>flashback</em> dalam buku ini yang menuntut pembaca untuk konsentrasi dan fokus dalam menangkap fakta - fakta.</p>
<p>Ada beberapa <em>clue</em> dan fakta yang terungkap sepanjang babak, yaitu :</p>
<ol>
<li>Penemu mayat korban adalah Osamu Nonoguchi dan Istri Hidaka yang entah bagaimana tiba - tiba datang bersamaan ke <em>crime scene</em>,</li>
<li>Ruangan kerja tempat mayat Hidaka ditemukan terkunci dari dalam dan orang yang memiliki kuncinya adalah Hidaka dan istrinya,</li>
<li>Osamu mengaku bahwa dia memiliki rasa suka terhadap istri Hidaka,</li>
<li>Detektif Kaga adalah teman kerja dari Osamu Nonoguchi saat masih sama - sama mengajar di sebuah sekolah SMP,</li>
<li>Osamu juga mengaku kalo selama ini dia menjadi penulis bayangan dari Hidaka, termasuk beberapa buku <em>bestselling</em> Hidaka sebenarnya adalah karya Osamu,</li>
<li>Osamu mengaku terpaksa menjadi <em>ghost writter</em> bagi Hidaka karena terperangkap akibat gagalnya rencana Osamu dan Istri Hidaka untuk membunuh Hidaka di masa lampau,</li>
<li>Istri Hidaka membantah bahwa Hidaka memanfaatkan Osamu sebagai <em>ghost writter</em>,</li>
<li>Osamu menuntut janji Hidaka yang menyatakan akan mempromosikan Osamu menjadi novelis, bukan sekedar pengarang buku cerita anak - anak,</li>
<li>Tamu yang ditemui Hidaka sore itu adalah keluarga dari mendiang orang yang menjadi tokoh (antagonis/penjahat) sentral dalam novel kontroversi sekaligus <em>bestselling</em> Hidaka (novel yang diakui Osamu sebagai penulis aslinya), pihak perwakilan keluarga menuntut Hidaka menarik peredaran novel dan meminta maaf ke keluarga mereka,</li>
<li>Di kemudian hari, pihak keluarga sang tokoh meminta dan meneror Istri Hidaka untuk membayar banyak uang sebagai ganti rugi nama baik akibat publikasi Novel tersebut.</li>
</ol>
<p>Jadi sekarang pertanyaannya adalah siapakah pembunuh dari Hidaka?</p>
<hr>
<h3>Penutup</h3>
<p>Novel ini memenangkan banyak penghargaan dari dalam negeri Jepang maupun dari luar negeri sekaligus menjadi salah satu novel <em>bestseller</em> dari Keigo.</p>
<p>Pendapat saya pribadi, novel ini tidak lebih bagus daripada The Newcomer. Namun ada kelebihan dari novel ini terutama bagaimana Keigo membuat tokoh Osamu Nonoguchi yang dijadikan <em>narator</em> sepanjang babak dan plot twist yang lebih memukau daripada The Newcomer.</p>
<hr>Migrasi dari Whatsapp2021-05-16T00:00:00Zhttps://kusaeni.com/jurnal/migrasi-dari-whatsapp/<p>Sesuai dengan pemberitahuan dari Whatsapp mengenai <a href="https://blog.whatsapp.com/giving-more-time-for-our-recent-update">penundaan penerapan <em>privacy policy</em></a> maka per 16 Mei 2021 rencananya akan diaktifkan.</p>
<p>Bagi yang tidak setuju dengan <em>privacy policy</em> terbaru ini maka resikonya adalah pengguna tersebut tidak akan bisa lagi mengakses atau memper-gunakan layanan Whatsapp.</p>
<p %="" endterkait="" %="">{% terkait "Signal buruk Whatsapp", "/jurnal/signal" %}
Perubahan privacy policy Whatsapp, resiko dan solusi alternatifnya.</p>
<p>Meski begitu sampai saat ini tidak ada pemberitahuan resmi di laman blog Whatsapp. Namun untuk berjaga - jaga, berikut adalah cara untuk me-mindahkan atau <em>exports</em> data percakapan ke penyedia layanan <em>messaging</em> lain seperti Telegram atau Signal.</p>
<h3>Update</h3>
<p>25 Mei 2021. Menurut situs <a href="https://www.xda-developers.com/whatsapp-wont-limit-user-accounts-india/">XDA Developer</a>, Whatsapp memperpanjang lagi waktu jeda pengaktifkan <em>privaci policy</em> terbaru untuk pengguna di negara tertentu seperti India sampai dengan 5 bulan setelah jeda terakhir (bulan Pebruari). Tidak diketahui apakah Indonesia termasuk dalam daftar negara pengguna Whatsapp yang ikut dijeda.</p>
<p>Dari <a href="https://www.theverge.com/2021/5/28/22458805/whatsapp-privacy-policy-no-plans-limit-functionality">The Verge</a> diinfokan bahwa Whatsapp <mark>tidak akan membatasi fitur dan fungsi untuk pengguna yang tidak setuju</mark> dengan <em>privacy policy</em> namun akan terus <strong>menampilkan peringatan</strong> untuk menyetujui <em>privacy policy</em>.</p>
<h3>Ekspor ke Signal</h3>
<p>Sebelum memindahkan data, yang harus dilakukan pertama kali adalah mengekspor data percakapan yang dimaksud, caranya adalah :</p>
<p><strong>Perhatian!!</strong> cara dibawah ini tidak otomatis memindahkan data secara terstruktur ke dalam Signal. Data yang akan dipindahkan hanya sekedar ekspor data dalam format <code>ZIP</code> yang bisa dibuka/dibaca dengan teks editor sederhana atau dari dalam aplikasi Signal.s</p>
<ol>
<li>Buka aplikasi Whatsapp, kemudian pilih pada percakapan yang diinginkan untuk dipindahkan,</li>
<li>(Android) tap pada menu <code>⋮</code> yang terletak di pojok kanan atas, kemudian pilih opsi <code>More</code> dan tap pada <code>Export Chat</code>, <span class="code_cap">langsung lompat ke cara nomer 04 jika tidak mempergunakan iPhone</span></li>
<li>(iPhone) : tap pada nama <em>User</em> atau <em>Group</em> kemudian gulir ke bawah dan tap pada <code>Export Chat</code>,</li>
<li>Jika ingin mengekspor lengkap dengan media (gambar, video, dokumen, dsb) pilih opsi <code>Include Media</code>, jika tidak maka gunakan pilihan <code>Without Media</code>,</li>
<li>Kemudian pilih aplikasi Signal dan pilih kontak <em>User</em> yang dituju untuk tujuan eksport data tersebut.</li>
</ol>
<p>Memindahkan data dalam <strong>Grup</strong> pada dasarnya sama dengan cara diatas,</p>
<ol>
<li>Buka aplikasi Signal, dan buat sebuah Grup baru,</li>
<li>Tambahkan anggota ke dalam Grup (minimal 1 kontak), kemudian tap pada menu <code>⋮</code> pilih <code>Group Settings</code> dan gulir kebawah untuk mengaktifkan <code>Group Link</code>,</li>
<li>Aktifkan <code>Share Link</code> dan mulai membagikan tautan yang tersedia kepada anggota Grup sebelumnya,</li>
<li>Gunakan cara ekspor data seperti cara sebelumnya.</li>
</ol>
<p>Sampai saat ini Signal belum memiliki <em>tools</em> untuk mengimpor data dari Whatsapp maupun dari <em>messenger</em> yang lain, namun sudah ada aplikasi dari pihak ketiga yang bisa membantu proses ini meski dengan pelbagai ke-kurangannya masing - masing.</p>
<p>Contohnya adalah <a href="https://play.google.com/store/apps/details?id=com.imkapps.chatmove">ChatMove</a> atau skrip Python <a href="https://github.com/gillesvangestel/ConvertWhatsAppToSignal/blob/main/ConvertWhatsAppToSignal.py">ini</a>.</p>
<h3>Ekspor ke Telegram</h3>
<p>Memindahkan data ke Telegram jauh lebih mudah daripada Signal, karena Telegram memiliki <em>tools</em> khusus untuk ini. Yang harus dilakukan adalah sebagai berikut :</p>
<ol>
<li>Ekspor data Whatsapp seperti cara diatas,</li>
<li>Pilih tujuan Telegram, kemudian pilih tujuan <em>User Account</em>nya,</li>
<li>Telegram akan otomatis mengimpor data dan menampilkannya seperti percakapan biasa. Bravo!.</li>
</ol>
<p>Untuk <strong>Grup</strong> pun sama caranya.</p>
<h3>Ekspor ke BIP</h3>
<p>BIP sebagai pendatang baru ternyata sudah menggarap fungsi impor data ini, targetnya memang jelas <mark>memindahkan pengguna Whatsapp ke BIP</mark>.</p>
<p>Proses ekspor data dari Whatsapp sama mudahnya dengan Telegram. Tinggal ekspor dan pilih aplikasi BIP dan tuju akun kontaknya. Data akan ditampilkan secara <code>read only</code> di dalam layar pesan BIP.</p>
<hr>
<h3>Kesimpulan</h3>
<p><em>Privacy Policy</em> Whatsapp terbaru memang menjadi penyakit yang meng-gerogoti privasi penggunanya dan berpindah ke layanan lain jelas menjadi pilihan utama.</p>
<p>Saya pribadi lebih memilih pindah ke Signal meski untuk urusan impor data masih keteteran dibandingkan kompetitor. Harapannya adalah dalam waktu dekat Signal bisa merilis <em>tools</em> untuk impor data dari Whatsapp.</p>
<p>Pilihan kedua yang lebih baik jatuh kepada BIP.</p>
<hr>11ty: Related Books2021-05-02T00:00:00Zhttps://kusaeni.com/jurnal/11tyshortcodeuntukbacaan/<p>Di halaman <a href="/baca">bacaan</a> saya ingin menampilkan relasi buku terkait dengan <em>review</em> buku yang saya tulis. Tampilan yang diinginkan adalah seperti <a href="https://developer.twitter.com/en/docs/twitter-for-websites/cards/guides/getting-started">Twitter Cards</a> dengan gambar dan deskripsi. Gambarnya nanti bisa diisi <code>coverImg</code> dari masing - masing artikel baca yang sudah saya tulis.</p>
<h3>Membuat basis data dalam JSON</h3>
<p>Hal pertama yang dilakukan adalah membuat basis data dan menyimpannya dalam format JSON. Caranya adalah dengan membuat <em>file</em> baru & memasuk-kan data <code>collection</code> dengan format menyesuaikan bentuk format <em>valid</em> dari JSON.</p>
<p %="" raw="" %=""></p>
<pre><code class="language-html">---
permalink : /baca/data.json
---
[{% for post in collections.baca %}
{
"title": "{{ post.data.title }}",
"date": "{{ post.data.date }}",
"url": "{{ post.url }}",
"ringkasan": "{{ post.data.ringkasan }}",
"penulis": "{{ post.data.penulis }}",
"coverImg": "{{ post.data.coverImg }}",
"resensi": "{{ post.data.resensi }}"
}{{ '' if loop.last else ',' }}
{% endfor %}]
</code></pre>
<p %="" endraw="" %=""></p>
<p><code>title</code>, <code>date</code>, <code>url</code>, <code>ringkasan</code> dan seterusnya adalah <em>field</em> yang sudah saya tulis di YAML/<em>frontmatter</em> pada setiap artikel baca. Tampilan <em>frontmatter</em> seperti ini :</p>
<pre><code class="language-yaml">---
layout: isi/buku.njk
title : 'Sewu Dino'
date: 2020-08-17
ringkasan: 'Pertempuran antar keluarga dari Trah Pitu yang memakan banyak korban'
keywords: 'Sewu Dino, Janur Ireng, Ranjat Kembang, Trah Pitu, Simpleman, Horor, Santet'
coverImg : 'https://ik.imagekit.io/hjse9uhdjqd/tr:n-cover/buku/sewuDino_lV8ZEwbP7.jpg'
penulis: 'Simpleman'
genre:
- Thriller
- Mistery
- Jawa
format: 'Papperback - 230 halaman'
bahasa: 'Bahasa Indonesia, Bahasa Jawa'
isbn: '978-602-220-348-3'
tahun: 2020
resensi: 'Dia adalah Dela Atmojo, anak yang harus kamu rawat sampai waktunya tiba. Ia dikirimi kutukan santet sewu dino. Santet yang sudah merenggut nyawa hampir seluruh anggota keluarga Atmojo.'
rating: 3
beli: https://shopee.co.id/bukune
dimana: Bukune
tags: baca
---
</code></pre>
<p>Saya mengambil beberapa <em>field</em> yang penting dan hendak dipakai nantinya. Sedangkan hasilnya adalah sebagai berikut</p>
<pre><code class="language-json">{
"title": "Sewu Dino",
"date": "Mon Aug 17 2020 07:00:00 GMT+0700 (Western Indonesia Time)",
"url": "/baca/sewuDino/",
"ringkasan": "Pertempuran antar keluarga dari Trah Pitu yang memakan banyak korban",
"penulis": "Simpleman",
"coverImg": "https://ik.imagekit.io/hjse9uhdjqd/tr:n-cover/buku/sewuDino_lV8ZEwbP7.jpg",
"resensi": "Dia adalah Dela Atmojo, anak yang harus kamu rawat sampai waktunya tiba. Ia dikirimi kutukan santet sewu dino. Santet yang sudah merenggut nyawa hampir seluruh anggota keluarga Atmojo."
}
</code></pre>
<p>Setelah <em>eleventy</em> di <code>build</code> maka akan tersedia 1 <em>file</em> baru dengan nama <code>data.json</code> dengan <em>path</em> <code>/baca/data.json</code>. <em>File</em> inilah yang nanti akan di-jadikan basis data untuk menentukan relasi artikel.</p>
<h3>11ty Shortcodes</h3>
<p>Setelah basis data tersedia, selanjutnya adalah membuat fungsi <code>javascript</code> untuk memanggil basis data tersebut. Disini saya memper-gunakan paket <code>node-fetch</code>. Namun sebelum itu perlu menentukan bentuk dari <em>shortcodes</em> yang akan dipakai.</p>
<ol %="" raw="" %="">
<li>Bentuk <em>shortcode</em>nya.
Saya ingin agar bentuk <em>tags</em>nya adalah sebagai berikut :</li>
</ol>
<pre><code class="language-html"> {% related "judul" %}
</code></pre>
<p %="" endraw="" %=""></p>
<p>dimana <code>related</code> akan menjadi fungsi pemanggil <em>shortcodes</em> dan <code>judul</code> men-jadi <em>string query</em> untuk mencari <em>field</em> di dalam JSON Array.</p>
<p>Sehingga di <em>file eleventy.js</em> saya menambahkan <em>syntax</em> berikut :</p>
<pre><code class="language-js">eleventyConfig.addLiquidShortcode("related", async function(judul){}
</code></pre>
<p class="sidenote">Saya sebenarnya adalah pengguna <a href="https://mozilla.github.io/nunjucks/" alt="Nunjucks">Nunjucks</a>, namun karena <i>default render</i> <code>markdown</code> di <i>eleventy</i> mempergunakan <a href="https://shopify.github.io/liquid/" alt="Liquid template Tags">Liquid</a>. Maka <i>shortcodes</i> saya mempergunakan Liquid</p>
<p class="sidenote">Namun bisa juga mempergunakan <b>global shortcodes</b> dengan kode <code>eleventyConfig.addShortcode</code> yang bisa jalan di semua <i>template tags</i>
<ol start="2">
<li>Ambil basis data dan buat fungsi <em>query</em></li>
</ol>
<p>Seperti yang sudah saya sebutkan diatas, saya mempergunakan <code>node-fetch</code> untuk membantu mengambil basis data. Maka yang harus dilakukan pertama kali adalah memasang paket <code>node-fetch</code>:</p>
<pre><code class="language-bash">$ yarn add node-fetch
# atau
$ npm install node-fetch
</code></pre>
<p class="sidenote">Pengguna <a href="https://github.com/axios/axios">axios</a> bisa mempergunakannya sebagai pengganti <code>fetch</code>. Silakan menyesuaikan kode dibawah dengan fungsi di <code>axios</code>.</p>
<p>kemudian buat fungsi di dalam <em>shortcodes</em> untuk mengambil basis data :</p>
<pre><code class="language-js">try {
const response = await fetch('https://kusaeni.com/baca/data.json', {
method: 'GET',
headers: {
'Content-Type': 'application/json'
} });
const data = await response.json();
} catch(reason) {
console.log(reason)
}
</code></pre>
<p>hasil dari <code>response</code> disimpan sebagai JSON.</p>
<p class="sidenote">Opsi lain adalah mempergunakan <code>JSON.parse</code> dengan <code>fs</code></p>
<pre><code class="language-js"> const fs = require('fs')
const data = JSON.parse(fs.readFileSync("./baca/data.json"));
</code></pre>
<p class="sidenote">Dengan <code>JSON.parse</code>, proses <code>build</code> tidak lagi membutuhkan akses internet karena akan data dibaca dari lokal. Dengan syarat <i>file</i> JSON yang dimaksud adalah <i>file existing</i> yang tidak dibuat pada saat proses <code>build</code>. </p>
<ol start="3">
<li>Kemudian buat fungsi <em>query</em> untuk mengambil data berdasarkan <em>value</em> <code>judul</code> dengan mempergunakan <code>findIndex</code></li>
</ol>
<pre><code class="language-js">const relasi = function (buku, judul) {
const index = buku.findIndex(function (novel, index) {
return novel.title.toLowerCase() === judul.toLowerCase()
})
return buku[index]
};
const hasilData = await relasi(data, judul);
</code></pre>
<p class="code_cap">Kita sebut ini sebagai kode pertama, silakan lihat di seksi <i>update</i> untuk kode kedua dan ketiga sebagai alternatif.</p>
<p>Disini <em>string</em> <code>judul</code> harus diamankan dengan membuat <code>judul</code> menjadi huruf kecil semua <code>toLowerCase()</code> untuk menghindari kesalahan tipo saat mengetik judul.</p>
<h3 class="merah">Update</h3>
<p>Kode diatas terlihat komplek sekali, ada kode lebih sederhana namun ketika saya coba membuat waktu <code>build</code> <a href="#build">sedikit lebih lama</a>.</p>
<pre><code class="language-js">const response = await fetch('https://kusaeni.com/baca/data.json');
const data = await response.json();
const hasilData= data.find(function(caridata) {
return caridata.title.toLowerCase() === judul.toLowerCase()
});
</code></pre>
<p class="sidenote">Sebutlah ini sebagai kode kedua.</p>
<p>Sampai disini jika <em>tags</em> <code>{% related "judul" %}</code>dimasukkan ke dalam artikel, maka pada saat <code>build</code>/<code>serve</code>, <em>eleventy</em> akan mengambil <code>data.json</code> dan meng<em>filter</em>nya berdasarkan <em>query</em> judul yang dimasukkan. Hasilnya bisa diliat di log di konsol.</p>
<ol start="4">
<li>Untuk menampilkan data tersebut di posisi <em>tags</em> disisipkan, maka perlu ditambahkan kode berikut :</li>
</ol>
<pre><code class="language-js">return `<div class="flex">
<img class="shadow-md" src="${hasilData.coverImg}" >
<div class="flex-1">
<a href="${hasilData.url}">${hasilData.title}</a>
<dl>
<dt>${hasilData.penulis} </d>
<dd>${rese} ...</dd>
</dl>
</div>
</div>`;
</code></pre>
<p>Karena <code>node-fetch</code> menghasilkan <code>promise</code> maka <code>return</code> perlu diakses dengan tambahan <code>.then()</code> <em>callback</em>, sehingga keseluruhan <em>shortcodes</em>nya menjadi seperti ini :</p>
<pre><code class="language-js">eleventyConfig.addLiquidShortcode("related", async function(judul){
try {
const response = await fetch('https://kusaeni.com/baca/data.json',{
method: 'GET',
headers: {
'Content-Type': 'application/json'
}});
const data = await response.json();
const relasi = function (buku, judul) {
const index = buku.findIndex(function (novel, index) {
return novel.title.toLowerCase() === judul.toLowerCase()
})
return buku[index]
};
const hasilData = await relasi(data, judul);
var rese = hasilData.resensi.substr(0, 200)
return `<div class="flex">
<img class="shadow-md" src="${hasilData.coverImg}">
<div class="flex-1">
<a href="${hasilData.url}">${hasilData.title}</a>
<dl><dt>${hasilData.penulis} </dt>
<dd>${rese} ...</dd></dl>
</div></div>`;} catch (err) {console.log(err)}
const print = async () => {
const p = await hasilData;
console.log(p)
};
print()
});
</code></pre>
<p class="sidenote">Jika ingin mempergunakan kode kedua, silakan disesuaikan. Saya menambahkan fungsi <code>rese</code> untuk memotong karakter di <code>resensi</code> agar tidak lebih dari 200 karakter</p>
<h3 class="merah">Update</h3>
<p>Saya menambahkan fungsi yang sama untuk menampilkan relasi artikel di <em>collection</em> jurnal dengan sedikit perbedaan yaitu tanpa <code>coverImg</code> dan tanpa mempergunakan <code>fetch</code> JSON. Meskipun kode diatas bisa juga diaplikasikan di <em>collection</em> apa saja, namun saya tidak memakainya dengan alasan <a href="#kesimpulan">performa</a>.</p>
<p>Di jurnal saya hanya ingin menampilkan relasi artikel dengan format <code>judul</code>, <code>url</code>, dan <code>desk</code> atau deskripsi. Saya memakai fungsi lain <em>shortcodes</em> yaitu <em>paired shortcodes</em>. Seperti diatas, tulis kode berikut di <em>file .eleventy.js</em></p>
<pre><code class="language-js">eleventyConfig.addPairedShortcode("prelated",
function(desk, judul, url){
return `<div class="relasi-artikel">
<h4 class="header-relasi">Artikel terkait</h4>
<a class="link" href="${url}" title="${judul}">${judul}</a>
<p class="desk-relasi">${desk}</p>
</div>`;
});
</code></pre>
<p>Sesuai namanya <em>paired</em> maka <em>shortcodes</em> ini akan membuat <em>template tags</em> baru dengan <em>tags</em> buka dan tutup.</p>
<p %="" raw="" %=""></p>
<pre><code class="language-html">{% prelated "11ty Reader Bar", "/jurnal/11tyReaderBar" %}
11ty Reader Bar : sebuah plugin shortcodes untuk menampilkan readerbar di eleventy
{% endprelated %}
</code></pre>
<p %="" endraw="" %=""></p>
<p>Dengan catatan :</p>
<ul>
<li>"11ty Reader Bar" akan diproses sebagai <em>variable</em> <code>judul</code>,</li>
<li>"/jurnal/11tyReaderBar" sebagai <code>url</code>,</li>
<li>"11ty Reader Bar : sebuah plugin shortcodes untuk menampilkan readerbar di eleventy" sebagai <code>desk</code></li>
</ul>
<p>Hasil dari <em>paired shortcode</em> diatas adalah sebagai berikut:</p>
<p><em>Shortcode</em> ini bisa juga dipergunakan untuk menggantikan <em>shortcodes</em> dengan <em>parse</em> JSON. Hanya saja setiap hendak menyisipkan <em>related books</em> harus mengetikkan secara manual setiap data yang ingin ditampilkan.</p>
<h3 id="kesimpulan">Kesimpulan dan catatan</h3>
<p>Alhamdulillah dengan fungsi <em>shortcodes</em> ini saya bisa menampilkan relasi bacaan sesuai dengan keinginan, namun ada beberapa hal yang perlu diper-hatikan saat mempergunakan <em>shortcodes</em> ini, diantaranya :</p>
<ol %="" endraw="" %="">
<li>Untuk mengurangi kesalahan dalam <em>query</em> data berdasarkan judul, maka judul perlu dibuat <code>lowerCase</code> semua. Namun hal ini tidak menjadi solusi <mark>jika penulisan judulnya salah karena salah ketik atau salah spasi</mark>,</li>
<li id="build">Proses ini harus mengambil <code>data.json</code> dan melakukan <code>parse</code> serta <em>query</em> satu per satu artikel yang memiliki <em>shortcodes</em> <code>related</code> membuat waktu <em>build</em> menjadi lebih lama, sekitar 19 - 30 ms dimana sebelumnya sekitar 9 - 17 ms.</li>
</ol>
<p>Saya melakukan <strong>DEBUG</strong> <code>build</code> <em>eleventy</em> dengan hasil sebagai berikut:</p>
<ul>
<li>Untuk kode <em>query</em> pertama membutuhkan waktu sekitar 8.02 detik untuk memproses 28 <em>files</em>,</li>
<li>Dan butuh waktu 9,02 detik untuk kode yang kedua.</li>
</ul>
<p class="sidenote">Uji coba dilakukan dengan mengnonatifkan <i>plugin</i> Eleventy Lazy Images. Jika <i>plugin</i> ini diaktifkan akan membutuhkan waktu sekitar 1 - 2 detik lebih lama. Ini akan menjadi <a href="https://github.com/11ty/eleventy/issues/1346">masalah</a> saat mulai melakukan <code>build</code> dengan jumlah halaman yang banyak.</p>
<p>Saat di<code>build</code> di <a href="https://netlify.com/">Netlify</a> membutuhkan tambahan waktu untuk proses, rata - rata menjadi sekitar 20 - 30 detik (Netlify biasanya butuh 2,5 kali waktu <em>build time</em>) untuk selesai. Jika <em>build time</em> ini konstan, maka jatah <code>build</code> di Netlify bisa menjadi sampai dengan 900 kali setiap bulannya.</p>
<ol start="3">
<li>Saya belum menemukannya, namun jika ada perintah untuk mem<code>build</code> <em>files</em> tertentu saja atau <em>files</em> ter<em>update</em> saja tentu akan memangkas waktu untuk <code>build</code> secara signifikan.</li>
<li>Jika waktu <code>build</code> begitu berharga, maka solusi yang paling mendekati adalah mempergunakan <em>paired shortcodes</em> yang tidak perlu melakukan <code>fetch</code> dan proses <em>query</em> data.</li>
</ol>
<pre><code class="language-js">eleventyConfig.addPairedShortcode("relatedpair",
function(resensi, coverImg, judul, url){
let coverUrl = "https://ik.imagekit.io/hjse9uhdjqd/tr:n-cover/buku/"
return `<div class="flex">
<img class="shadow-md" src="${coverUrl}${coverImg}">
<div class="flex-1"> <b><a href="${url}" title="${judul}">${judul}</a></b><dd>${resensi} ...</dd>
</div>
</div>`; });
</code></pre>
<p class="sidenote">Sebutlah sebagai kode ketiga</p>
<p>Namun kelemahannya adalah harus memasukkan sendiri detil yang ingin ditampilkan di dalam <em>shortcode</em> itu. Sedikit merepotkan tapi terbayar dengan gegasnya saat <code>build</code>.</p>
<ol start="5">
<li>Karena harus <code>fetch JSON</code> data untuk proses <strong>build</strong> membutuhkan akses internet, jika tidak ada akses internet maka proses <code>build</code> akan gagal. Namun saat proses di Netlify bukan menjadi masalah.</li>
</ol>
<p>Dengan mempergunakan <em>paired shortcodes</em> ini, waktu <code>build</code> <strong>dipangkas hampir 300%</strong> yang awalnya sekitar 9 - 10 detik menjadi 2 - 3 detik saja.</p>
<img src="https://ik.imagekit.io/hjse9uhdjqd/jurnal/chart_9ZDZx1SgM.png" alt="Chart Perbandingan Build Time" />
<h3 id="lume">🔥 Lume</h3>
<p>Untuk pengguna <a href="https://lumeland.github.io/">Lume</a> bisa juga mempergunakan fungsi kode diatas. Jika di 11ty dinamakan sebagai <code>shortcodes</code> maka di Lume disebut dengan <code>helper</code>.</p>
<p><em>Edit file _config.js</em> dan tambahkan kode berikut :</p>
<pre><code class="language-js">const site = lume();
site.helper("related", async function(judul) {
try {
const response = await fetch('https://kusaeni.com/baca/data.json');
const data = await response.json();
const result = data.find(function(search) {
return search.title.toLowerCase() === judul.toLowerCase();
})
return `<div class="some">
<img src="${result.coverImg}"><b>${result.title}</b> ${result.penulis}
</div>`
}catch(err) {console.log(err)};
const printResult = async () => {
const print = await result;
console.log(print);
};
printResult();}, {type: "tag", async: true})
</code></pre>
<p>Sedangkan <em>template tags</em> yang dipergunakan sama yaitu <code>{% related "title" %}</code>. Untuk <code>shortcodes prelated</code> pun sama, ini dikarenakan Lume memang menjadikan 11ty sebagai <a href="https://lumeland.github.io/advanced/migrate-from-11ty/">patokan atau inspirasi</a>.</p>
<hr>The Newcomer2021-04-25T00:00:00Zhttps://kusaeni.com/baca/thenewcomer/<div class="info">
<p><b>Hai!</b> : ingin mendapatkan buku ini? Silakan ikut <a href="https://kusaeni.com/jurnal/give-away-buku/">giveaway</a> buku ini. Terbatas.</p>
</div>
<p>Ini adalah buku pertama Keigo Higashino yang saya baca, saya terpengaruh setelah membaca
<a href="https://en.wikipedia.org/wiki/Keigo_Higashino">biografinya di Wikipedia</a>. Disitu disebutkan bahwa
Higashino adalah penulis novel misteri dan menjabat sebagai Presiden ke-13 dari asosiasi penulis
novel misteri di Jepang.</p>
<p>Dengan jabatan ini tentu dia bukan seorang penulis biasa dan inilah yang membuat saya tertarik untuk
membeli bukunya.</p>
<h3>Detektif Kaga dan pembunuhan di Nihonbashi</h3>
<p><span class="dc">K</span>aga adalah detektif polisi yang baru dipindah tugaskan ke Kantor Polisi Nihonbashi, Tokyo dan
dianggap sebagai <em>anak baru</em> dan cenderung diremehkan di lingkungannya. Namun sebenarnya dia adalah
seorang detektif berpengalaman yang sudah sering memecahkan kasus kriminal sebelumnya.</p>
<p>Seorang wanita setengah baya ditemukan tewas dengan leher tercekik seutas tali di dalam kamar
apatemennya. Korban ditemukan oleh sahabatnya yang sudah membuat janji untuk bertemu di apartemennya.</p>
<p>Korban adalah penghuni baru dan tidak memiliki kenalan dan keluarga di lingkungan
Nihobashi.</p>
<p>Kaga dilibatkan dalam penyelidikan kasus ini dengan tugas sebagai pemandu untuk penyelidik
senior dari kantor kepolisian pusat Tokyo. Penyelidikan mengalami jalan buntu, meski identitas korban sudah ditemukan dan keluarga dikabari, namun pelaku dan motifnya masih gelap.</p>
<p>Disela waktu tugasnya menjadi <em>guide</em> bagi detektif dari kantor pusat kepolisian,
melakukan penyelidikan sendiri dengan metode yang unik.</p>
<p>Metode pendekatan kekeluargaan.</p>
<p>Dari penyelidikan Kaga inilah kemudian ditemukan fakta bahwa hampir semua orang yang tinggal
dan bekerja dikawasan Nihonbashi memiliki motif sebagai pelaku.</p>
<p>Lalu siapakah pembunuh sebenarnya? dan apa motifnya?.</p>
<hr>
<h3>Catatan</h3>
<p>Saya tidak memiliki ekspektasi apapun saat membeli buku ini. Bahkan ketika sudah datang, saya
mengabaikan buku ini hampir selama 7 hari dan baru membacanya kemudian.</p>
<p>Ini adalah novel misteri pembunuhan yang ditulis dengan sangat ringan. Enak dibaca dan mudah
dicerna. Ada 7 bab dalam buku ini yang berisi cerita - cerita setiap tersangka yang memiliki
masalahnya sendiri - sendiri.</p>
<p>Dalam pelbagai kesempatan, Kaga malah berusaha membantu masalah para tersangka. Hal inilah yang disebut dengan penyelidikan kekeluargaan yang sebenarnya menjadi alasan utama kenapa Kaga sampai dimutasi ke Nihonbashi.</p>
<p>Novel ini memiliki <em>plot twist</em> yang sangat mengejutkan. Meskipun <em>clue</em>nya sangat jelas, namun
tetap saja pengungkapan pelaku pembunuhan dan motifnya cukup bertolak belakang dengan apa yang
pembaca fikirkan.</p>
<p>Novel misteri yang sangat bagus, saya memberikan <a href="/baca/rating">nilai 5 dari 5</a> untuk novel ini.</p>
<p>Saya sudah membeli buku kedua dari Higashino berjudul Malice.</p>
<p %="" endrelasi="" %="">{% relasi "malice_1GM7H7NhPlD.jpg", "Malice", "Keigo Higashino", "/baca/malice" %}
Seorang novelis terkenal ditemukan tewas mengenaskan di rumahnya,di dalam ruangan tertutup oleh istri dan sahabat baiknya.</p>
<p>Seperti serial <a href="/baca/tokyozodiacmurders">Detektif Mitarai</a> dari Soji Shimada, versi <em>life actions</em>
dari Kaga juga sudah ada filmnya, salah satunya adalah The Wing of Kirin yang ditayangkan 2012
silam.</p>
<p>Umumnya kebanyakan adaptasi novel ke film, ada banyak kekurangan atau ketidaksesuaiannya. Salah satu
yang menonjol adalah tentang sikap Kaga yang difilm digambarkan dingin dan serius, padahal di novel
Kaga dikesankan sebagai polisi yang ramah dan disukai banyak orang.</p>
<hr>11ty: Reader Bar2021-04-23T00:00:00Zhttps://kusaeni.com/jurnal/11tyreaderbar/<p>Reader Bar awalnya dibuat untuk <a href="https://jquery.com/">jQuery</a> yang dipergunakan untuk meng-visualisasikan panjang dan posisi <em>scroll</em> halaman melalui garis memanjang horisontal (biasanya ada di pinggir bagian atas halaman) dan sebuah tombol fungsi untuk kembali ke awal halaman.</p>
<p>Di <a href="https://11ty.dev/">Eleventy</a> sendiri sudah ada sebuah <em>plugin</em> untuk membantu menampilkan Reader Bar dengan mudah yaitu dengan memasang <a href="https://github.com/thigoap/eleventy-plugin-reader-bar">Eleventy Reader Bar Plugin</a>. Cara pemasangannya sangat mudah, yaitu</p>
<ol>
<li><em>Install package</em> melalui NPM</li>
</ol>
<pre><code class="language-bash">$ npm install eleventy-plugin-reader-bar
</code></pre>
<ol start="2">
<li>Mengatur <em>configuration</em> di <em>eleventy.js</em></li>
</ol>
<pre><code class="language-javascript">const ReaderBar = require('eleventy-plugin-reader-bar')
module.exports = function(eleventyConfig) {
eleventyConfig.addPlugin(ReaderBar)
}
</code></pre>
<ol start="3">
<li>Kemudian di dalam <em>template/layout</em> sisipkan blok HTML <code>div.reader-bar-start</code>, saya menyisipkan kode ini langsung dibawah baris HTML <code><body></code> dan menutupnya dibagian bawah sebelum <code></body></code>. Tujuannya adalah agar blok <code>reader-bar-start</code> bisa meng<em>wrapping</em> keseluruhan <em>layout</em>nya.</li>
</ol>
<p class="sidenote">Jika keseluruhan <em>layout</em> tidak masuk ke dalam blok <code>div</code> tersebut, maka tampilan Reader Bar tidak akan akurat. Bisa saja terjadi baru <em>scroll</em> sedikit namun indicator sudah menunjukkan 100%.</p>
<ol start="4">
<li>Terakhir sisipkan kode Nunjucks <code>{% ReaderBar %}</code> dibawah <em>tags</em> <code>{% content | safe %}</code>.</li>
</ol>
<pre><code class="language-javascript">{{ content | safe }}
{% ReaderBar "2px", "", "#e63946" %}
</code></pre>
<p>Kode diatas akan menampilkan Reader Bar dengan tebal <code>2px</code> dan warna <code>merah</code> seperti di artikel ini. Dokumentasi lebih lengkap bisa dibaca <a href="https://github.com/thigoap/eleventy-plugin-reader-bar">disini</a>.</p>
<h3>Modifikasi</h3>
<p>Sayangnya saya tidak suka dengan tampilan <em>plugin</em> ini, yaitu dengan adanya <em>gap</em> antara tepian atas dan Reader Bar-nya. Setelah dicermati kodenya, ternyata pembuat <em>plugin</em> menerapkan aturan di CSS jarak Reader Bar dan pinggiran atas adalah <code>2px</code> secara otomatis. Sehingga dari sini muncul <em>gap</em> tersebut.</p>
<p>Saya tidak ingin ada <em>gap</em> jadi harus memodifikasi nilai di CSSnya. Saya tidak menerapkan CSS baru untuk menimpa aturan <em>default</em>nya, namun memilih untuk merubahnya langsung dari kode sumber. Sedikit lebih rumit tapi hasilnya memuaskan.</p>
<ol>
<li><code>Clone</code> kode sumber lewat Git ke lokal, saya menyimpannya di folder <code>_tmp</code> di <code>root</code> jurnal ini.</li>
</ol>
<pre><code class="language-bash">$ git clone https://github.com/thigoap/eleventy-plugin-reader-bar.git _tmp
$ cd _tmp
</code></pre>
<p>Kemudian <em>edit</em> CSS yang dimaksud. Dalam hal ini adalah baris berikut :</p>
<pre><code class="language-html"><!-- reader bar -->
<div id="readerBarContainer" style="height:${height};width:100%;background-color:${bgColor};position:fixed;top:2px;left:0;z-index:100;transition:0.2s;">
<div id="readerBar" style="height:${height};width:0;background-color:${fillColor};position:fixed;top:2px;left:0;z-index:200;transition:0.2s;"></div>
</div>
</code></pre>
<p>Nilai <code>top:2px</code> saya rubah menjadi <code>0px</code> agar tidak muncul <em>gap</em>, merubah warna <em>background</em> untuk tombol <em>back to top</em> serta menyesuaikan agar ukurannya sedikit lebih besar.</p>
<ol start="2">
<li>Setelah selesai <em>edit</em> saatnya mem<em>packing</em> ulang dengan NPM untuk mendapatkan berkas <code>.tgz</code>.</li>
</ol>
<pre><code class="language-bash">$ npm pack
</code></pre>
<p>Proses ini akan menghasilkan sebuah <em>file</em> dengan akhiran <code>tgz</code>. Nama <em>file</em> dan versinya bisa disesuaikan dengan mengubahnya di <code>package.json</code> sebelum melakukan <code>pack</code>.</p>
<p>Saya memindahkan <em>file</em> <code>tgz</code> tersebut ke direktori <code>_tmp</code> di dalam direktori jurnal dan meng<em>install</em>nya.</p>
<ol start="3">
<li><em>Edit file package.json</em> dan masukkan secara manual <em>dependecies</em>-nya.</li>
</ol>
<pre><code class="language-json">"dependencies": {
"reader-bar": "file:./_tmp/eleventy-plugin-reader-bar-0.2.0.tgz"
}
</code></pre>
<p class="sidenote"><i>file package.json</i> yang dimaksud ini adalah yang berada di direktori jurnal, bukan di direktori letak <i>module</i> tadi diunduh.</p>
<ol start="4">
<li><em>Install</em> dengan menjalankan perintah <code>npm install</code>.</li>
</ol>
<p><em>Folder</em> <code>_tmp</code> ini harus diikutkan saat <code>push</code> ke repository (Github/Gitlab) karena saat di<em>build</em> dengan <a href="https://netlify.com/">Netlify</a> akan mencari <em>eleventy-plugin-reader-bar</em> di <em>path</em> lokal tersebut.</p>
<hr>Ranjat Kembang2021-04-11T00:00:00Zhttps://kusaeni.com/baca/ranjatkembang/<div class="info">
<p><b>Hai!</b> : ingin mendapatkan buku ini? Silakan ikut <a href="https://kusaeni.com/jurnal/give-away-buku/">giveaway</a> buku ini. Terbatas.</p>
</div>
<p>Menceritakan tentang Dela Atmojo, keturunan terakhir dari Keluarga Atmojo yang selamat dari santet <a href="https://kusaeni.com/baca/sewudino/">Sewu Dino</a>.</p>
<p>Kisah dimulai dengan <em>flashback</em> masa kecil Dela Atmojo yang menyaksikan bagaimana ibu kandungnya mati bunuh diri dengan menembakkan pistol ke dalam mulutnya, sampai ke cerita bagaimana Dela bisa terkena santet Sewu Dino yang dilepaskan oleh <a href="https://kusaeni.com/baca/janurireng/">Sabdo Kuncoro</a>.</p>
<p %="" endrelasi="" %="">{% relasi "sewuDino_lV8ZEwbP7.jpg", "Sewu Dino", "simpleman", "/baca/sewudino" %}
Dia adalah Dela Atmojo, anak yang harus kamu rawat sampai waktunya tiba. Ia dikirimi kutukan santet sewu dino. Santet yang sudah merenggut nyawa hampir seluruh anggota keluarga Atmojo.</p>
<p><span class="dc">P</span>aska kematian sang Ibu maka Dela Atmojo adalah penerus tahta dari Keluarga Atmojo yang sering disebut sebagai Trah Angkara. Di dalam Keluarga Atmojo, penerus Trah Angkara mengalir dalam darah keturunan perempuan dan akan mewarisi para <em>ingon</em> Atmojo yang disebut sebagai Bonorogo dan Sengarturih.</p>
<p class="sidenote">Bonorogo dan Sengarturih adalah 2 jenis iblis/jin yang dipelihara (<i>ingon</i>) oleh Keluarga Atmojo untuk menjalankan tugas pembunuhan sekaligus perlindungan kepada keluarga Atmojo itu sendiri. Setiap keluarga di Trah Pitu memiliki <i>ingon</i> masing - masing</p>
<p>Dela mulai mendapatkan mimpi - mimpi tentang riwayat Keluarga Atmojo dan kekejaman apa yang pernah dilakukan oleh keluarga ini serta tujuan kenapa Dela harus menjadi penerus sebagai majikan baru bagi Bonoroga dan Sengarturih.</p>
<p>Mbah Tamin seorang dukun abdi dari Keluarga Atmojo dibantu oleh Mayang!, berusaha memaksa Dela untuk mau mejadi induk baru dari 2 iblis itu dengan pelbagai cara, halus maupun dengan penuh kekejaman.</p>
<p class="sidenote">Mayang adalah tokoh yang unik dan misterius di <i>universe</i> Trah Pitu, dia memiliki hubungan dan hadir di setiap cara untuk membangkitkan Kudro diantaranya Dela, Mira, Agus, dan Bayu. Entah apa tujuannya sampai sekarang belum dibuka</p>
<h3>Padusan Pituh</h3>
<p>Ini tentang Mira, salah satu Kudro keluarga Codro.</p>
<p>Kisah tentang Mira ini sebagian besar sudah ditulis oleh Simpleman di <em>threads</em> <a href="https://twitter.com/simplem81378523/status/1192048445004996609">Padusan Pituh</a>.</p>
<blockquote class="twitter-tweet"><p lang="in" dir="ltr">- Padusan Pituh -<br><br>Horror Story<a href="https://twitter.com/bacahorror?ref_src=twsrc%5Etfw">@bacahorror</a> <a href="https://twitter.com/hashtag/bacahorror?src=hash&ref_src=twsrc%5Etfw">#bacahorror</a> <a href="https://t.co/TmdLdggqlH">pic.twitter.com/TmdLdggqlH</a></p>— SimpleMan (@SimpleM81378523) <a href="https://twitter.com/SimpleM81378523/status/1192048445004996609?ref_src=twsrc%5Etfw">November 6, 2019</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
<h3>Lemah Layat</h3>
<p>Agus dan Ruslan.</p>
<p>Seperti kisah Mira, Simpleman sudah menuliskan kisah Agus dan Ruslan dengan cukup lengkap di Twitter <em>threads</em> <a href="https://twitter.com/simplem81378523/status/1180793234793959425">Lemah Layat</a>.</p>
<blockquote class="twitter-tweet"><p lang="in" dir="ltr">- Lemah Layat<br><br>Horror Story-<a href="https://twitter.com/bacahorror?ref_src=twsrc%5Etfw">@bacahorror</a> <a href="https://twitter.com/hashtag/bacahorror?src=hash&ref_src=twsrc%5Etfw">#bacahorror</a> <a href="https://t.co/oqAbTRMcPp">pic.twitter.com/oqAbTRMcPp</a></p>— SimpleMan (@SimpleM81378523) <a href="https://twitter.com/SimpleM81378523/status/1180793234793959425?ref_src=twsrc%5Etfw">October 6, 2019</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
<p class="sidenote"><i>Threads</i> Simpleman di Twitter tentang kisah Mira dan Agus ini jauh lebih lengkap dibandingkan yang tertuang di dalam buku, namun ada detil - detil yang tidak ditemukan di Twitter bisa dibaca di buku ini. Mungkin memang dibuat seperti itu, namun bisa dimaklumi karena buku ini sebenarnya lebih fokus kepada Dela sesuai judulnya Ranjat Kembang WijayaKususma</p>
<h3>Catatan</h3>
<p>Buku ini tidak sekelam Janur Ireng dan lebih enak untuk dibaca. Kualitas tulisan semakin bagus (tidak tahu apakah kualitas Simpleman semakin bagus atau editornya yang lebih cermat), ukuran huruf lebih kecil dengan total 310 halaman membuat buku ini semakin padat.</p>
<p>Ranjat Kembang semakin membuka fakta Trah Pitu yang konon info dari Simpleman cerita ini didasari dari kisah nyata, meski ceritanya berdiri sendiri dan Simpleman menggabungkannya menjadi satu. Rencana total buku dari Trah Pitu ada 5 buku, setelah Sewu Dino, Janur Ireng, dan Ranjat Kembang masih ada 2 buku lagi yang akan terbit, termasuk 3 Kudro lagi yang belum dimunculkan.</p>
<p>Sebelum Ranjat Kembang muncul, Simpleman pernah membuat <em>threads</em> di Wattpad dengan judul <strong>Kudro</strong>.</p>
<p %="" endrelasi="" %="">{% relasi "book15_LKlbAIFWW.png", "Kudro", "simpleman", "https://www.wattpad.com/1098009727-kudro-laweh" %}
Bayu Saseno menyelam dalam ingatan masalalunya, mencari dimana keberadaannya dalam tatanan bunga Wijayakusuma.</p>
<p class="sidenote">Serial Kudro ini menceritakan asal muasal dan awal perjalanan Bayu Saseno, salah satu Kudro keluarga Trah Pituh</p>
<p>Buku ini cukup bagus meski tidak istimewa, hanya saja kualitas <em>cover</em> bukunya mengecewakan. Untuk buku yang <em>pre-order</em>nya dihargai Rp. 143.000,00 (termasuk ongkir), <em>cover</em> buku ini tipis sekali dan lucunya saat dibiarkan di atas meja, <em>cover</em>nya tergulung seperti rambut wig para bangsawan parlemen Inggris pada jaman Victoria.</p>
<h3 class="text-xl font-semibold text-gray-500"><span class="text-red-500">UPDATE</span></h3>
<p>Selain kualitas cover yang jelek, bonus poster buku ini juga cukup menggelikan. Saya mendapatkan bonus 2 poster sebagai hadiah <em>preorder</em> yaitu :</p>
<ol>
<li>Poster kelopak bunga Wijayakusuma yang berisi nama - nama keluarga para abdi Keluarga Atmojo/Trah Angkara,</li>
<li>Poster gambar seorang gadis yang rambutnya dibelit sulur - sulur bunga Wijayakusuma.</li>
</ol>
<p>Poster ke-2 ini yang menurut saya tidak pas atau tidak sesuai. Novel Ranjat Kembang ini berisi kisah horor mencekam, namun lucunya gambar dalam poster ini digambar seperti di manga bergenre romantis, meski gambar tersebut terkesan sang gadis sedang bersedih. Tidak ada seramnya sama sekali.</p>
<p>Menurut saya Bukune perlu memperhatikan hal ini.</p>
<hr>Murder in The Crooked House2021-03-04T00:00:00Zhttps://kusaeni.com/baca/murderinthecrookedhouse/<div class="info">
<p><b>Hai!</b> : ingin mendapatkan buku ini? Silakan ikut <a href="https://kusaeni.com/jurnal/give-away-buku/">giveaway</a> buku ini. Terbatas.</p>
</div>
<p>Ini adalah buku ke dua dari Soji Shimada dan kisah seorang dukun yang mengaku sebagai detektif bernama Kiyoshi Mitarai. Seperti halnya <a href="https://kusaeni.com/baca/tokyozodiacmurders">Tokyo Zodiac Murders</a> <em>setting</em> waktunya melampau pada medio tahun 1984.</p>
<p %="" endrelasi="" %="">{% relasi "tokyozodiacmurder_41AsxiBkF.jpg", "Tokyo Zodiac Murder", "Shoji Shimada", "/baca/tokyozodiacmurders" %}
Novel tentang kasus pembunuhan yang telah menggemparkan seluruh Jepang. pembunuhan yang melibatkan keluarga Umezawa dan orang-orang di sekitar keluarga tersebut. Selama lebih dari empat puluh tahun, kasus ini menjadi misteri. Banyak orang berusaha untuk memecahkannya, tak ada yang berhasil.</p>
<p><em>Setting</em> waktu yang melampau ini banyak dipakai Shoji Shimada. Salah satu alasannya mungkin adalah di waktu lampau teknologi belum berkembang pesat, sehingga analis dari sang detektif lebih diutamakan dibandingkan bantuan dari alat/perangkat. Sebagai contoh di Tokyo Zodiac Murders, seandainya pada masa itu tes DNA sudah ada, maka kasus ini tidak akan menunggu 40 tahun untuk diselesaikan.</p>
<p><span class="dc">K</span><strong>ozaburo Hamamoto</strong> seorang pengusaha pabrik Hama Diesel yang memproduksi Mesin Diesel yang sukses dan terkemuka mengadakan acara santap malam untuk merayakan <em>Christmas Eves</em> dengan putrinya <strong>Eiko Hamamoto</strong> dan mengundang 8 orang tamu.</p>
<p>Daftar tamu - tamu tersebut adalah :</p>
<ul>
<li><strong>Eikichi Kikuoka</strong> seorang Direktur perusahaan produsen Bearing (salah satu perusahaan yang bekerja sama dengan Hama Diesel dan menjadi pemasok suku cadang),</li>
<li><strong>Kumi Aikura</strong> sekretaris dan rumornya adalah selingkuhan Eikichi,</li>
<li><strong>Michio Kanai</strong> dan <strong>Hatsue Kanai</strong>, pasangan suami istri dimana Michio adalah salah satu manajer di perusahaan Eikichi</li>
<li><strong>Kazuya Ueda</strong> sopir pribadi Eikichi,</li>
<li><strong>Shun Sasaki</strong> seorang mahasiswa kedokteran tingkat akhir yang bekerja paruh waktu merawat kesehatan Kozaburo. Mengincar Eiko untuk dijadikan istri,</li>
<li><strong>Masaki Togai</strong> mahasiswa dari Universitas Tokyo, putra seorang politikus terkemuka di Jepang, mengincar Eiko untuk dijadikan istri,</li>
<li><strong>Yoshiko Hamamoto</strong> cucu dari saudara laki - laki Kozaburo sekaligus kemenakan dari Eiko. Seorang atlet memanjat tebing dan memiliki hobi naik gunung.</li>
</ul>
<p>Tamu - tamu ini diundang hadir pada jamuan makan malam yang diadakan di sebuah rumah istimewa yang diberi nama <strong>Rumah Miring</strong> yang terletak di ujung utara Jepang (berbatasan secara laut dengan Rusia), di sebuah tanjung yang di bulan Desember tertutup oleh salju. Malam itu badai salju turun dengan dasyatnya.</p>
<p>Pada saat makan malam, Eiko memperkenalkan para tamunya kepada staf/pembantu rumah tangganya yang terdiri dari :</p>
<ul>
<li><strong>Kohei Hayakawa</strong> Kepala pelayan sekaligus sopir dan suami dari</li>
<li><strong>Chikako Hayakawa</strong> Istri dari Kohei sekaligus pelayan rumah tangga</li>
<li><strong>Haruo Kajiwara</strong> seorang <em>celebrity chef</em> yang dibajak agar mau bekerja di rumah Kozaburo.</li>
</ul>
<p>Namun saat itu Eiko melakukan sedikit kesalahan karena tidak memperkenalkan Ueda kepada staf rumah tangganya. Selain itu dia secara tidak sengaja mempermalukan Hatsue dan Kumi.</p>
<p>Setelah makan malam selesai, Kozaburo memberikan teka - teki kepada tamunya dengan hadiah restu untuk menikahi Keiko. Semua tamu laki - laki diijinkan ikut perlombaan ini.</p>
<p>Malam itu setelah semua tamu tertidur.</p>
<p>Kumi yang tidak bisa tidur karena marah akibat hinaan dari Keiko tiba - tiba mendengar suara seperti seseorang yang sedang berusaha memanjat naik ke kamarnya di lantai 3 dan suara rintihan seorang laki - laki. Eiko dan Kozaburo datang dan memeriksa namun tidak menemukan apapun.</p>
<p>Keesokan harinya saat sarapan pagi Ueda tidak hadir, dan ketika diperiksa oleh Sasaki ditemukan Ueda tewas terbunuh di dalam ruangan tertutup dan ditemukan boneka Golem yang berserakan di luar kamarnya.</p>
<p>Polisi datang untuk melakukan penyelidikan dan pengamanan, namun dengan cepat para polisi itu putus asa ketika pembunuhan kedua terjadi bahkan pada saat para polisi mengawasi. Eikichi menjadi korban berikutnya, lagi - lagi dengan kodisi pembunuhan di ruangan tertutup dan ditemukan bukti kasus yang menyangkut ke Golem.</p>
<p>Ditengah ketakutan para penghuni rumah dan keputusasaan para pertugas kepolisian, Kantor Pusat Kepolisian mengirim detektif eksentrik untuk membantu. Datanglah Kiyoshi Mitarai untuk membantu.</p>
<p>Namun tak lama berselang jatuhlah korban ketiga, Masaki ditemukan tewas dikamarnya sementara semua orang sedang berkumpul di ruang makan.</p>
<p>Jadi siapakah pembunuhnya? Apakah ada orang asing yang menyusup ke dalam rumah? Atau benarkah sang Golem yang melakukan pembunuhan? Lalu apa hubungannya dengan Rumah Miring?</p>
<h3>Catatan</h3>
<p>Setelah membaca Tokyo Zodiac Murders, saya langsung menjadi <em>fans</em> kisah detektif Mitarai. Bahkan saya juga mencari film - film tentangnya, diantaranya adalah Mitarai Casebook : Clockwork Current dan Tantei Mitarai.</p>
<p class="sidenote">Cukup sulit mendapatkan film seri Mitarai ditambah lagi ketiadaan <i>subtitle</i> yang sesuai, sehingga sulit memahami alur kisah dalam film - film ini. Oh iya Serial Tantei Mitarai malah diproduksi oleh Rumah Produksi di China</p>
<p>Salah satu yang menarik adalah <em>setting</em> latarnya yang mundur ke era tahun 40 - 80 an, dimana teknologi pada waktu itu belum berkembang pesat dan teknik psikologi kriminal yang hebat membuat seri Mitarai ini benar - benar luar biasa.</p>
<p>Hanya saja dibandingkan dengan Tokyo Zodiac Murder's, kasus Pembunuhan di Rumah Miring ini kurang memiliki <em>ending</em> yang dramatis. Bahkan pelakunya langsung saja menyerah dikesempatan tuduhan pertama. Selain itu Mitarai hanya hadir disekitar 2 babak akhir dan semua berlangsung begitu cepat.</p>
<p>Dan ini menjadi satu - satunya kekurangan di buku ini.</p>
<hr>Janur Ireng2021-02-14T00:00:00Zhttps://kusaeni.com/baca/janurireng/<div class="info">
<p><b>Hai!</b> : ingin mendapatkan buku ini? Silakan ikut <a href="https://kusaeni.com/jurnal/give-away-buku/">giveaway</a> buku ini. Terbatas.</p>
</div>
<p>Ini adalah buku ketiga dari <a href="https://twitter.com/SimpleM81378523">Simpleman</a> setelah KKN di Desa Penari dan <a href="https://kusaeni.com/baca/sewudino/">Sewu Dino</a> dan merupakan buku ke 2 dari serie saga Trah Pitoe atau legenda 7 keluarga yang memperebutkan puncak kehormatan dan kekayaan.</p>
<p><em>Setting</em> waktu dalam Janur Ireng terjadi sebelum Sewu Dino. Janur Ireng menjelaskan latar belakang kenapa santet Sewu Dino dikirimkan kepada keluarga Karsa.</p>
<p %="" endrelasi="" %="">{% relasi "sewuDino_lV8ZEwbP7.jpg", "Sewu Dino", "simpleman", "/baca/sewudino" %}
Dia adalah Dela Atmojo, anak yang harus kamu rawat sampai waktunya tiba. Ia dikirimi kutukan santet sewu dino. Santet yang sudah merenggut nyawa hampir seluruh anggota keluarga Atmojo.</p>
<p>Kita akan mengikuti kisah yang dialami dan dituturkan oleh Sugik. Seorang lelaki yang “dijebak” untuk bekerja di keluarga Arjo Kuncoro seorang juragan kaya raya. Sugik ditugaskan menjadi sopir dan pelayan Sabdo Kuncoro, anak hasil perselingkuhan. Arjo Kuncoro sendiri sudah memiliki keluarga resmi dengan seorang istri dan 3 orang anak, salah satunya adalah Intan Kuncoro.</p>
<p>Arjo Kuncoro merupakan salah satu dari Trah Pitoe, dan dianggap sebagai salah satu keluarga terkuat dan memiliki <em>ingon - ingon</em> yang disebut sebagai Canguksongo.</p>
<p class="sidenote">Canguksongo adalah sejenis bangsa lelembut yang mengabdi kepada manusia dengan imbalan. Dalam kisah ini disebutkan bahwa Canguksongo meminta imbalan bersetubuh dengan istri Arjo Kuncoro</p>
<p>2 anak lelaki Arjo yaitu Pras Anum dan Batra Kuncoro ternyata tidak mampu menjadi pewaris yang bisa menjadi medium bagi turunnya Canguksongo, dan sosok yang dipilih oleh Canguksono adalah Sabdo Kuncoro. Hal ini membuat kedua pemuda itu kecewa dan marah cemburu kepada Sabdo. Sedangkan Intan Kuncoro menjadi bersimpati dan jatuh hati kepada Sabdo.</p>
<p>Sabdo kemudian harus menjalani banyak ritual untuk menjadi <em>the next</em> Canguksongo di dalam keluarga Kuncoro. Meskipun dalam hati Sabdo sebenarnya benci kepada Arjo karena telah menyebabkan kedua orang tuanya mati, mau tidak mau Sabdo harus menuruti. Dalam ritual - ritual tersebut, Sabdo harus berubah menjadi hewan kambing berwarna hitam (Bokolono) yang kemudian akan dibunuh oleh Arjo.</p>
<p class="sidenote">Bagaimana cara Arjo membunuh Sabdo tujuannya adalah untuk membunuh musuhnya, dimana musuh - musuhnya akan mati dengan cara seperti cara Arjo membunuh Sabdo (dalam bentuk kambing).</p>
<p>Hal ini terjadi berulang kali dan semakin membuat Sabdo benci kepada Arjo. Karena itu Sabdo memutuskan untuk menyingkirkan Arjo dengan cara bekerja sama dengan beberapa Keluarga Trah Pitoe yang merupakan “musuh” dari Arjo.</p>
<p>Di lain hal ternyata Sabdo melakukan hubungan terlarang dengan Intan Kuncoro yang membuat Intan hamil. Dan kemudian diputuskan bahwa Sabdo harus menikahi Intan.</p>
<p>Di hari pernikahan, Keluarga Trah Pitoe yang berkerjasama dengan Sabdo melakukan serangan ilmu hitam kepada keluarga Kuncoro dan mengkhianati Sabdo. Serangan ilmu hitam/santet ini diberi nama Janur Ireng, yang menyebabkan semua tamu undangan dan keluarga Kuncoro mati mengenaskan. Termasuk Intan Kuncoro yang dengan tangannya sendiri membunuh janin yang terkandung di dalam perutnya.</p>
<p>Yang selamat dari santet ini adalah Sabdo dan Sugik (yang ternyata dialah yang memasang santet di dalam rumah Arjo atas suruhan Mbah Karsa).</p>
<p>Sabdo akhirnya melarikan diri dengan dendam kepada keluarga Karsa yang telah mengkhianati janji dan menyebabkan Intan dan calon banyinya mati. Sedangkan Sugik kemudian menjadi sopir di kediaman mbah Karsa, sekaligus mencari perlindungan.</p>
<p>Sabdo entah bagaimana caranya berhasil menguasai santet Sewu Dino dan mengirimkan ke keluarga Karsa sebagai balas dendam.</p>
<hr>
<h3>Catatan</h3>
<p>Kisah ini lebih gelap dan berat dibandingkan Sewu Dino. Saya perlu menghabiskan banyak waktu untuk menyelesaikan buku ini.</p>
<p>Kendala terbesar adalah banyaknya tokoh dan kejadian yang membuat harus membongkar ingatan, harus membuka lagi untaian twit di Twitter Simpleman karena sebagian kisah sudah ditulis disana.</p>
<p>Saya tidak terlalu suka dengan kisah yang ini, nilai 3 dari 5 sudah cukup bagus. Saya membaca buku ini dan tidak terlalu ingin mengulang membaca lagi.</p>
<p %="" endrelasi="" %="">{% relasi "ranjat-kembang_EQYxzyfUuZx.jpg", "Ranjat Kembang", "simpleman", "/baca/ranjatkembang" %}
Setelah memakan ratusan nyawa, perseteruan Trah Pitu menjalar begitu jauh, meneror keturunan termuda dan orang - orang di luar lingkaran keluarga. Buku ini membawa 3 pintu cerita yaitu Padusan Pituh (Mira), Lemah Layat (Agus), dan Kembang Wijayakusuma (Dela Atmojo)</p>
<hr>