#!/usr/bin/env python3
"""TSLaw: artikel kesebelas — 6 Pengacara Pidana dan Pelaporan Penipuan Online di Surabaya.
Aturan: 1.000-1.300 kata tanpa padding, entri 1 Tito Suprianto Law Firm + tautan beranda,
lembaga/peran nyata (Polrestabes Surabaya, Ditreskrimsus Polda Jatim, Kejari/PN Surabaya,
kanal Komdigi, OJK & Satgas PASTI, PPATK, LBH Surabaya), tombol WA di akhir, FAQ 5 + schema FAQPage,
kategori 14 + 4 tag, meta Yoast REST. Gaya bahasa lewat pass humanizer: tanpa em dash, tanpa jargon AI,
tanpa rule-of-three paksa. Salinan isi disimpan ke artikel11.html sebelum dikirim (REST JSON saja)."""
import json, os, re

OUT = "/home/mantapman/.hermes/profiles/atun/workspace/tslaw_listikel"
os.makedirs(OUT, exist_ok=True)
WA = "6281909222026"

CTA = f"""<p style="text-align:center;margin:34px 0 8px">
<a href="https://wa.me/{WA}?text=Halo%20TS%20Law%2C%20saya%20ingin%20konsultasi%20soal%20penipuan%20online" target="_blank" rel="noopener"
style="display:inline-block;background-color:#122b63;color:#ffffff;font-weight:600;font-size:17px;
padding:15px 30px;border-radius:8px;text-decoration:none">Konsultasi Penipuan Online via WhatsApp</a>
</p>
<p style="text-align:center;font-size:14px;color:#5b5b6b;margin:0 0 26px">
Tito Suprianto Law Firm, kantor advokat di Surabaya. Pemeriksaan awal bukti dan kronologi Anda tidak dipungut biaya.</p>"""

FAQ = [
    ('Berapa biaya pengacara penipuan online surabaya untuk mendampingi laporan?',
     'Angka awalnya bergantung pada pekerjaan yang dibutuhkan. Kalau perkara baru sebatas menyusun laporan '
     'dan surat kuasa, biayanya lebih kecil daripada perkara yang naik ke penyidikan atau persidangan. Yang '
     'sering terlewat adalah biaya di luar honorarium, misalnya penggandaan berkas, transportasi ke kantor '
     'polisi, dan biaya perkara kalau ada gugatan perdata paralel. Mintalah rincian tertulis sejak awal, '
     'lalu pisahkan mana biaya yang dibayarkan ke pihak ketiga dan mana imbalan pendamping.'),
    ('Apakah laporan penipuan bisa dicabut kalau pelaku akhirnya mengembalikan uang?',
     'Perkara pidana penipuan adalah delik yang menyangkut kepentingan umum, jadi laporan tidak otomatis '
     'gugur hanya karena uangnya kembali. Dalam praktik, pengembalian kerugian sering menjadi pertimbangan '
     'di persidangan dan bisa memengaruhi tuntutan, tetapi keputusannya ada di penyidik dan penuntut umum. '
     'Karena itu, kembalinya uang sebaiknya dituangkan tertulis dengan berita acara, bukan lewat kesepakatan '
     'di chat, supaya posisi Anda tetap jelas kalau perkara berlanjut.'),
    ('Berapa lama proses hukum kasus penipuan online sampai putusan?',
     'Jalurnya panjang dan tidak ada satu angka yang berlaku untuk semua perkara. Setelah laporan diterima, '
     'penyidik memeriksa saksi dan alat bukti, kadang memanggil saksi ahli di bidang teknologi informasi. '
     'Berkas yang sudah lengkap dilimpahkan ke penuntut umum, lalu disidangkan. Perkara dengan pelaku yang '
     'tidak diketahui keberadaannya bisa berhenti di penyidikan, dan di situlah cepat atau lambatnya '
     'penanganan paling terasa.'),
    ('Apakah saya tetap butuh pengacara kalau hanya ingin membuat laporan polisi?',
     'Laporan bisa dibuat sendiri tanpa pendamping, dan polisi wajib menerimanya. Yang berubah ketika ada '
     'pendamping adalah kualitas berkas yang diserahkan. Kronologi yang disusun rapi, bukti yang tersusun '
     'menurut tanggal, dan pasal yang disangkakan dengan tepat membuat laporan lebih sulit dikesampingkan. '
     'Kalau kerugiannya kecil dan pelakunya jelas, membuat laporan sendiri sering sudah cukup.'),
    ('Bukti apa yang paling menentukan dalam kasus penipuan online?',
     'Yang paling menentukan adalah jejak uang dan identitas pelaku. Bukti transfer beserta nomor rekening '
     'tujuan menunjukkan ke mana dana bergerak. Tangkapan layar percakapan yang utuh, bukan potongan, '
     'menunjukkan bagaimana janji atau penawaran disampaikan. Nomor telepon, nama akun, dan tautan situs '
     'yang dipakai melengkapi identitasnya. Simpan semuanya dalam bentuk asli, dan jangan mengedit atau '
     'memotong file karena itu melemahkan nilainya sebagai alat bukti.'),
]

ENTRI = [
    ('Tito Suprianto Law Firm',
     'Kantor advokat di Surabaya yang mendampingi korban penipuan online, mulai dari merapikan bukti '
     'transfer dan percakapan sampai menyusun laporan pidana. Pekerjaan pertamanya biasanya menimbang apakah '
     'perkara lebih kuat dibawa ke ranah pidana, perdata, atau dua-duanya, karena uang yang sudah keluar '
     'sering hanya bisa dikejar lewat gugatan perdata. Timnya juga membantu menghitung kerugian yang bisa '
     'dimintakan penggantian supaya angkanya tidak dikarang. Profil dan bidang layanannya ada di '
     '<a href="https://www.tslaw.id/">beranda TS Law</a>.'),
    ('SPKT Polrestabes Surabaya dan pengadilan pidana',
     'Pintu pertama laporan pidana adalah Sentra Pelayanan Kepolisian Terpadu di Polrestabes Surabaya. Bawa '
     'kronologi tertulis, bukti transfer, dan tangkapan layar percakapan. Setelah laporan diterima, Anda '
     'berhak meminta tanda terima laporan dan menanyakan perkembangannya lewat surat pemberitahuan '
     'perkembangan hasil penyelidikan. Kalau berkasnya lengkap, penyidikan diserahkan ke Kejaksaan Negeri '
     'Surabaya untuk penuntutan dan sidangnya berlangsung di Pengadilan Negeri Surabaya. Siapkan juga '
     '<a href="https://www.tslaw.id/6-jenis-surat-kuasa-hukum-dan-fungsinya-yang-wajib-anda-pahami/">surat '
     'kuasa</a> bila memakai pendamping, karena tanpa itu pendamping tidak bisa mengakses berkas perkara.'),
    ('Direktorat Reserse Kriminal Khusus Polda Jawa Timur',
     'Kalau nilainya besar atau pelakunya bergerak lintas daerah, laporan di tingkat polres bisa naik ke '
     'Direktorat Reserse Kriminal Khusus Polda Jawa Timur, unit yang menangani kejahatan siber termasuk '
     'penipuan daring. Unit ini bekerja berdasarkan pola, jadi laporan yang mencantumkan nomor rekening, '
     'nomor telepon, dan tautan situs yang sama dengan korban lain lebih mudah dihubungkan menjadi satu '
     'penanganan. Untuk perkara yang pelakunya berada di luar negeri, penanganannya bisa dilanjutkan ke '
     'Bareskrim Polri karena membutuhkan jalur kerja sama internasional.'),
    ('Kanal pelaporan digital Kementerian Komunikasi dan Digital',
     'Selain polisi, ada kanal aduan daring milik pemerintah. patrolisiber.id menerima laporan akun dan '
     'konten yang dipakai untuk menipu, sementara aduannomor.id dan cekrekening.id dipakai untuk melaporkan '
     'nomor telepon serta rekening yang terindikasi penipuan. Laporan di kanal ini tidak menggantikan '
     'laporan polisi, tetapi berguna karena rekening yang dilaporkan berulang kali bisa ditandai dan nomor '
     'pelaku bisa diblokir. Simpan nomor tiket setiap laporan, karena itu bukti Anda sudah menempuh jalur '
     'resmi.'),
    ('Otoritas Jasa Keuangan dan satuan tugas aktivitas keuangan ilegal',
     'Kalau penipuannya bermotif investasi atau pinjaman, jalurnya lewat Otoritas Jasa Keuangan. Kontak '
     'konsumennya ada di 157, dan ada satuan tugas pemberantasan aktivitas keuangan ilegal yang menindak '
     'entitas tanpa izin. Yang perlu dibawa adalah tangkapan layar penawaran, riwayat setoran, dan '
     'identitas yang mengaku sebagai penyelenggara. Untuk menelusuri aliran dana, Pusat Pelaporan dan '
     'Analisis Transaksi Keuangan berperan lewat analisis transaksi, sehingga laporan polisi yang menyebut '
     'rekening penampung secara rinci sangat membantu proses ini.'),
    ('LBH Surabaya dan Posbakum pengadilan',
     'Untuk korban yang tidak mampu menyewa pendamping, ada lembaga bantuan hukum yang mendampingi perkara '
     'tanpa biaya jasa bagi pemohon yang memenuhi syarat, umumnya dengan surat keterangan tidak mampu. Ada '
     'juga pos bantuan hukum di gedung pengadilan yang memberi nasihat dan membantu pembuatan dokumen. '
     'Kapasitas keduanya terbatas, jadi datanglah dengan kronologi tertulis dan salinan bukti. Cara '
     'mengaksesnya saya ulas di '
     '<a href="https://www.tslaw.id/6-cara-mendapatkan-bantuan-hukum-gratis-di-surabaya-untuk-masyarakat/">'
     'enam cara mendapatkan bantuan hukum gratis di Surabaya</a>.'),
]

ISI = f"""<p>Penipuan online hampir selalu terasa sama saat baru terjadi. Ada transfer yang sudah keluar, ada chat
yang tiba-tiba tidak dibalas, dan ada nomor telepon yang tidak lagi aktif. Yang membedakan satu kasus dengan
kasus lain bukan besar kecilnya kerugian, melainkan seberapa cepat korban mengumpulkan bukti dan membawanya
ke jalur yang tepat.</p>
<p>Halaman ini memuat enam pilihan pengacara penipuan online Surabaya dan lembaga yang menangani laporan
korban, dari polisi yang menerima laporan sampai bantuan hukum tanpa biaya. Di bawahnya ada urutan langkah
yang biasa saya sarankan saat uang baru saja hilang, dan lima pertanyaan yang paling sering masuk lewat
telepon.</p>

<h2>Kenapa banyak laporan penipuan berhenti di tengah jalan</h2>
<p>Ada pola yang berulang. Korban baru menyadari dirinya ditipu setelah beberapa hari, dan pada saat itu
sebagian jejaknya sudah hilang. Kebiasaan berikut yang paling sering membuat perkara sulit berjalan:</p>
<ul>
<li>Bukti transfer dan percakapan dihapus karena malu atau karena ponselnya diganti.</li>
<li>Tangkapan layar disimpan sepotong-sepotong, sehingga janji pelaku tidak terbaca utuh.</li>
<li>Nomor rekening penampung tidak dicatat, padahal itu jejak uang yang paling berguna.</li>
<li>Bank tidak dihubungi, sehingga dana sempat dipindahkan ke rekening lain.</li>
<li>Laporan baru dibuat setelah berbulan-bulan, saat nomor pelaku sudah tidak aktif.</li>
</ul>

<h2>Enam pilihan pengacara pidana dan kanal pelaporan penipuan online di Surabaya</h2>
<h3>1. {ENTRI[0][0]}</h3><p>{ENTRI[0][1]}</p>
<h3>2. {ENTRI[1][0]}</h3><p>{ENTRI[1][1]}</p>
<h3>3. {ENTRI[2][0]}</h3><p>{ENTRI[2][1]}</p>
<h3>4. {ENTRI[3][0]}</h3><p>{ENTRI[3][1]}</p>
<h3>5. {ENTRI[4][0]}</h3><p>{ENTRI[4][1]}</p>
<h3>6. {ENTRI[5][0]}</h3><p>{ENTRI[5][1]}</p>

<h2>Urutan langkah yang saya sarankan saat menjadi korban</h2>
<ol>
<li>Amankan bukti lebih dulu sebelum apa pun. Unduh tangkapan layar percakapan secara utuh, simpan bukti
transfer, catat nomor rekening tujuan, nomor telepon, nama akun, dan tautan situs yang dipakai.</li>
<li>Hubungi bank penerima untuk meminta pemblokiran atau penahanan rekening penampung, lalu laporkan rekening
dan nomornya lewat kanal aduan pemerintah.</li>
<li>Buat laporan polisi di SPKT dengan membawa kronologi tertulis dan salinan bukti, lalu minta tanda terima
laporan. Catat nomor laporan dan nama penyidik yang menerima.</li>
<li>Ikuti perkembangan lewat surat pemberitahuan yang menjadi hak Anda. Kalau laporan mandek dan nilainya
besar, naikkan ke unit reserse kriminal khusus di tingkat provinsi.</li>
<li>Pertimbangkan gugatan perdata paralel untuk mengembalikan uang, dan libatkan pendamping hukum supaya jalur
pidana dan perdata tidak saling melemahkan.</li>
</ol>
<p>Dari pengalaman, perkara penipuan yang paling cepat bergerak bukan yang kronologinya paling panjang,
melainkan yang jejak uang dan identitas pelakunya paling rapi.</p>

<h2>Baca juga</h2>
<p>Panduan membuat laporannya ada di
<a href="https://www.tslaw.id/cara-lapor-polisi-penipuan-online/">cara melaporkan penipuan online ke polisi
dan bank</a>. Gambaran jenis perkara yang sering masuk ada di
<a href="https://www.tslaw.id/4-jenis-perkara-pidana-yang-sering-terjadi-di-masyarakat-indonesia/">empat jenis
perkara pidana di masyarakat</a> dan
<a href="https://www.tslaw.id/3-perbedaan-gugatan-perdata-dan-pidana-yang-perlu-dipahami/">perbedaan gugatan
perdata dan pidana</a>. Untuk kasus pencemaran nama baik di dunia maya, baca
<a href="https://www.tslaw.id/7-langkah-hukum-melaporkan-pencemaran-nama-baik-di-media-sosial/">langkah
melaporkan pencemaran nama baik</a> dan
<a href="https://www.tslaw.id/panduan-praktis-perlindungan-data-pribadi-untuk-umkm-langkah-mudah-dan-murah/">panduan
perlindungan data pribadi</a>. Perkiraan tarif ada di
<a href="https://www.tslaw.id/biaya-jasa-law-firm-surabaya/">biaya jasa law firm Surabaya</a>, dan gambaran
kantor kami di <a href="https://www.tslaw.id/law-firm-surabaya/">law firm Surabaya</a>,
<a href="https://www.tslaw.id/layanan/">layanan kami</a>, serta
<a href="https://www.tslaw.id/hubungi/">halaman kontak</a>.</p>

<h2>Pertanyaan yang sering muncul</h2>
""" + "\n".join(f"<h3>{q}</h3><p>{a}</p>" for q, a in FAQ) + f"""

{CTA}
<script type="application/ld+json">{json.dumps({"@context": "https://schema.org", "@type": "FAQPage",
    "mainEntity": [{"@type": "Question", "name": q, "acceptedAnswer": {"@type": "Answer", "text": a}} for q, a in FAQ]},
    ensure_ascii=False)}</script>"""

A11 = {"judul": "6 Pengacara Pidana dan Pelaporan Penipuan Online di Surabaya",
       "slug": "pengacara-penipuan-online-surabaya",
       "fokus": "pengacara penipuan online surabaya",
       "seo": "6 Pengacara Penipuan Online Surabaya dan Pelaporan",
       "meta": ("Pengacara penipuan online surabaya: enam pilihan pendamping untuk membuat laporan polisi, "
                "mengumpulkan bukti, sampai uang korban diupayakan kembali."),
       "tag_nama": ["penipuan online", "pidana", "laporan polisi", "advokat"],
       "isi": ISI}

if __name__ == "__main__":
    teks = re.sub(r"<(script|style)[^>]*>.*?</\1>", " ", A11["isi"], flags=re.S | re.I)
    kata = len([w for w in re.split(r"\s+", re.sub(r"<[^>]+>", " ", teks)) if w])
    print(f"{A11['slug']}")
    print(f"  kata       : {kata} (batas 1000-1300)")
    print(f"  meta       : {len(A11['meta'])} char (batas 158)")
    print(f"  judul SEO  : {len(A11['seo'])} char (batas 60)")
    print(f"  H1         : {len(A11['judul'])} char")
    print(f"  h2/h3      : {A11['isi'].count('<h2>')}/{A11['isi'].count('<h3>')}")
    print(f"  keyphrase di isi : {A11['isi'].lower().count(A11['fokus'])} kali")
    print(f"  meta mulai keyphrase : {A11['meta'].lower().startswith(A11['fokus'])}")
    print(f"  wa.me      : {'ada' if 'wa.me/' + WA in A11['isi'] else 'TIDAK'}")
    print(f"  FAQPage    : {'ada' if 'FAQPage' in A11['isi'] else 'TIDAK'}")
    print(f"  beranda    : {'ada' if 'https://www.tslaw.id/' in A11['isi'] else 'TIDAK'}")
    cjk = re.findall(r"[\u3000-\u9fff\uac00-\ud7af]", A11["isi"])
    print(f"  karakter CJK: {len(cjk)} {'(BERSIH)' if not cjk else cjk[:10]}")
    sisa = re.findall(r"\{[A-Za-z_\[\]0-9]+\}", A11["isi"])
    print(f"  placeholder: {len(sisa)} {'(BERSIH)' if not sisa else sisa[:5]}")
    print(f"  em dash    : {A11['isi'].count(chr(8212))}")
    link = re.findall(r'href="(https?://[^"]+)"', A11["isi"])
    print(f"  tautan unik : {len(set(link))}")
    for l in sorted(set(link)):
        print("     ", l)
    open(f"{OUT}/artikel11.html", "w").write(A11["isi"])
    print(f"  salinan isi: {OUT}/artikel11.html")
