Agiel Triono

Google Plus Resmi Di Tutup Pada Tahun 2019


Google+ akan segera di tutup pada April 2, 2019 pesan ini juga dikirimkan lewat email yang berisikan pengumuman akan pemberhentian medi sosial milik google yaitu google+.
Dengan sambil meneteskan air mata serta memikirkan pertanyaan seolah-olah gak percaya namun pada kenyataan nya Google tidak melihat peningkatan data pada awal rilis nya Google+,Informasi lengkap pentutupan Google+.

Google+ sendiri terikat dengan beberapa platform google lain nya seperti masuk dengan google, blogger, serta youtube.
dimana akun-akun google+ yang dikaitkan pada platform google ataupun di website lain nya akan secara otomatis tidak berfungsi lagi.
Mungkin itu yang harus anda hindari sekarang untuk tidak lagi menggunakan akun google+ mulai dari sekarang , karena apabila anda masuk atau daftar ke aplikasi atau yang lain nya dengan masih menggunakan akun google+ maka sobat tidak bisa lagi masuk ke aplikasi itu.

Nah bagi sobat yang menggunakan akun google+ di blogger silahkan ganti akun ke profil blogger untuk menghindari hal-hal yang tidak di inginkan nanti.

berikut kutipan dari email yang saya terima :

From all of us on the Google+ team, thank you for making Google+ such a special place. We are grateful for the talented group of artists, community builders, and thought leaders who made Google+ their home. It would not have been the same without your passion and dedication.

By Google+ Team

sesuai dengan pengumuman dari google alangkah baik nya kita mulai untuk berbenah akun-akun yang sudah kita buat bukan hanya google+ saja tapi mari kita jaga akun kita agar data penting yang kita punya dapat di download secepatnya.

saya sebagai pengguna google+ merasa tidak percaya sebelumnya namun apa daya mungkin pilihan google sangat tepat dikarenakan minim penggunaan.
Dan saya akhiri postingan hari ini tentang penutupan google+.


Selamat jalan Google+. Miss You !
Continue Reading

Javascript Auto Redirect Footer Kredit


Javascript Auto Redirect dalam bahasa indonesia disebut Pengalihan Otomatis atau inti utama nya adalah Redirect (Pengalihan) dapat diartikan sebagai pengalihan dari sumber lain ke sumber utama dimana dalam sumber tersebut tidak terdapat sumber yang dituju atau tidak ada. Nah jika di dalam javascript biasa nya di gunakan sebagai teknik manipulasi link dalam sebuah halaman website dengan tujuan tertentu.

Disini saya akan memberikan sebuah metode yang dimana sangat berkaitan erat dengan penjelasan di atas seperti metode Redirect pada inti nya yaitu menggunakan metode javascript window.location yang akan saya gunakan sebagai pengalihan link apabila link yang terdapat pada tag <a> di hapus atau value yang terdapat pada tag <a> telah dirubah.

Oke sebelum kita memulai tutorial buka dahulu Notepad pada komputer untuk kita digunakan sebagai media untuk menulis javascript pada tutorial ini.

Variable var

pertama kita buat sebuah Global variabel var dimana variabel digunakan pada seluruh bagian halaman website.
silahkan tulis variabel dengan nama my_link dengan value "Sebuah link tujuan" dengan tanda kurung.
jangan lupa gunakan (,)koma di akhir kalimat apabila kita ingin membuat variabel tanpa harus menulis var pada variabel selanjutnya.
var my_link = "https://www.agieltriono.com"
lanjut buat baris baru lalu buat nama variabel lagi gunakan nama my_name dan tambahkan value "Nama Website" dengan tanda kutip.
my_name = "Agiel Triono"
Terakhir buat lagi variabel dengan nama my_elem dan tambahkan value document.getElementById('ID') ganti ID dengan ID element pada tag yang anda ingin targetkan contoh 'myelemen' dengan tanda kutip.
Ingat pada variabel terakhir tambahkan (;) titik koma di akhir value.
my_elem = document.getElementById('credit')

Jika dirangkai maka akan seperti ini.
var my_link = "https://www.agieltriono.com",
    my_name = "Agiel Triono",
    my_elem = document.getElementById('credit');

if statement

Kita sudah membuat variable sekarang kita buat if (statement) atau kondisional (pengecualian) if{...} Dikarenakan kita membuat variable secara global tanpa di bungkus function (Fungsi) maka tidak dapat menggunakan else { return false }.
silahkan tulis seperti di bawah ini.
if ((my_elem.getAttribute('href') != my_link) || (my_elem.innerHTML != my_name) || (my_elem === null)){
 window.location = my_link;
 }

Penjelasan

Kode statement di atas menggunakan beberapa pengecualian jika variabel my_link,my_name dirubah atau my_elem di hapus maka perintah window.location = my_link; akan di eksekusi hanya apabila return value tersebut tidak sesuai atau false != (Tidak sama dengan)

Nah jika sudah jadi akan seperti ini
var my_link = "https://www.agieltriono.com",
    my_name = "Agiel Triono",
    my_elem = document.getElementById('credit');
if ((my_elem.getAttribute('href') != my_link) || (my_elem.innerHTML != my_name) || (my_elem === null)){
 window.location = my_link;
 }

INFORMASI :
"https://www.agieltriono.com" = Link website yang terdapat pada footer link.
"Agiel Triono" = nama website yang tertera pada footer link.
'credit' = id pada tag <a>.

untuk penulisan elemen <a> pada footer kira-kira akan seperti ini.

<footer>
Powered By <a id="credit" href="https://www.agieltriono.com" rel="nofollow">Agiel Triono</a>
</footer>
Sesuaikan value pada variable dengan yang ada pada footer.

Kesimpulan dari tutorial ini adalah ketika seseorang mengubah konten dari footer tersebut maka akan otomatis mengalihkan halaman yang di tuju ke halaman utama anda.

Penggunaan efektif diterapkan pada template premium. Jangan lupa sembunyikan javascript tersebut dengan menggunakan alat Javascript Obfuscator untuk di enkripsi yang nanti akan sulit dirubah oleh pemakai template.Letakan di bagian yang sulit di rubah misalkan di sisipkan pada satu file javascript atau satu tag di dalam tag <script>.

Demikianlah tutorial singkat tentang penerapan Javascript Auto Redirect untuk footer kredit.
Continue Reading

Bagaimana Cara Membuat Artikel Yang Menarik Pada Blog


Dalam dunia blogging kadang membuat sebuah artikel sedikit menyulitkan bagi para penulis blog, contoh nya saja apabila anda memiliki niche blog yang menargetkan beberapa artikel yang mengusung topik yang sesuai dengan visi/misi misalkan saja tentang TUTORIAL maka pada semua artikel harus berkatian dengan artikel lain nya namun lain hal nya dengan blog Magazine (Gado-gado / Campuran) yang mengusung berbagai topik.

biasa nya pada blog Magazine tidak terlalu berfokus pada salah satu artikel saja namun lebih mementingkan jumlah atau perbedaan pada setiap artikel tergantung dari kemampuan penulis tersebut ketika dalam membentuk sebuah artikel.

Nah pada kesempatan kali ini kita akan mengetahui nih bagaimana kita menulis artikel yang relevan namun juga menarik bagi pengguna internet. Yang saya sukai ketika membuat artikel adalah tetap konsisten pada artikel yang ingin di bahas dan tidak berbelit, namun anda harus tahu apa yang di tulis anda juga harus bertanggung jawab dengan apa yang di tulis.

Ketika artikel di publikasikan otomatis mesin perayap membuat sebuah data penting sebagai berikut :
1.Keyword (kata kunci)
2.Judul artikel (Pada Mesin Pencari)
3.Deskripsi (deskripsi artikel yang tampil di mesin pencari)
4.link ke artikel lain nya (Backlinks)

Nah poin penting tersebut yang akan saya bahas ketika anda ingin membuat artikel yang menarik. Bahkan walaupun artikel tersebut sangat sederhana namun memiliki nilai tinggi. Karena perlu di ingat bahwa website meliputi artikel yang di tulis ketika tulisan tersebut memiliki nilai bagi pengunjung begitu juga dengan Mesin Perayap (*BOT).

Judul Artikel


Hal pertama yang harus anda ketahui yaitu keyword dimana digunakan untuk setiap judul artikel yang anda tulis dapat juga digunakan sebagai kata kunci yang di sisipkan di bagian postingan sobat nanti. Ini bermaksud untuk menampah populasi jumlah keyword yang tampil untuk blog sobat jadi mesin pencari akan mencoba untuk merekomendasikan situs sobat di saat seseorang mencari artikel pada mesin pencari.
cara nya adalah ketik sebuah artikel yang ingin anda tulis misalkan sobat ingin menulis artikel tentang "Apa yang di maksud dengan Cinderamata ?" sebelum mencantumkan judul tersebut anda tulis dahulu pada mesin pencari Contoh : Google Search ketik judul tersebut pada search bar nanti akan keluar sebuah keyword lihat berapa yang keluar , apabila banyak maka judul artikel ini baik untuk di cantumkan pada judul artikel sobat.

Deskripsi


Deskripsi kan artikel sobat biasa nya terletak pada bagian atas badan postingan tulis dengan sependek mungkin minimal 150 kata dan usahakan to the poin pada topik yang ingin di bahas berdampak negatif apabila deskripsi mengandung terlalu banyak kata namun tidak relevan pada topik yang di bahas terutama bagi Google Search sangat tidak merekomendasikan mengundakan deskripsi artikel terlalu berbelit, jadi usahakan hindari menulis deskripi panjang namun tidak berkaitan dengan artikel.

Keyword


Pada penulisan phrase atau kata kunci disini harus sangat hati-hati bagi Mesin Perayap seperti : googlebot,bingbot ,dll sangat tidak suka dengan artikel blog yang menggunakan keyword dengan menggunakan judul atau artikel orang lain yang tidak berkaitan dengan artikel yang ditulis maka akan berdampak pada rangking blog sobat ketika.
Hal penting yang tidak boleh dilakukan ketika menulis kata kunci :
  • Menulis artikel dengan mencantumkan beberapa judul blog orang lain pada badan artikel
  • Menulis artikel dengan memasukan judul artikel orang lain
  • Menyalin sangat dilarang

Poin Penting

Efek pada pemakaian Keyword yang salah diatas adalah Mesin Pencari menilai artikel tersebut sebagai spam sesuai dengan poin ketiga ketika anda menyalin tidak boleh menyalin seluruh artikel melainkan hanya bagian kecil dari paragraf atau setengah dari bagian keterangan nya saja dan pastikan anda mencantumkan link utama dari website tersebut juga sertakan link ke artikel tersebut, secara otomatis Mesin perayap akan memahami dan mencoba merekomendasikan blog sobat.

Bagi saya sirkulasi backlink akan membuat Mesin Perayap mencoba merekomendasikan blog yang mereferensikan link ke artikel atau blog lain, sebalik nya pada link tersebut akan dirayapi oleh Mesin Perayap nah link blog ini yang akan terlihat siapa yang sudah mereferensikan ketika di analistik yang akan mendapat view.

Backlink

Seperti hal nya keyword hanya saja pada backlink menggunakan sebuah link yang di tempatkan pada badan postingan , Metode SEO satu ini sangat saya suka karena ketika pada sebuah artikel mengandung link berdampak pada mesin perayap yang nantinya akan merekomendasikan blog sobat namun tentu nya link harus TANPA TAMBAHAN NOFOLLOW apabila NOFOLLOW tidak berefek.
Berkaitan dengan Keyword pada poin ke 3 serta Poin Penting pada kalimat Mesin perayapan mencoba merekomendasikan saya beranggapan bahwa itu adalah benar ketika anda mencoba menyalin tanpa menyertakan sumber maka akan berdampak negatif terhadap blog sobat , namun sebalik nya akan meningkatkan rangking ketika anda mengutip dengan menyertakan link artikel tersebut beserta link ke website tersebut, tapi ingat bukan MENYALIN SECARA KESELURUHAN.

Kesimpulan nya adalah dalam membuat artikel harus terorganisir sesuai pada tempat yang sesuai dengan bagian-bagian nya.

Berikut urutan badan artikel yang baik bagi saya pribadi :

  • JUDUL ARTIKEL
    • Thumbnail (dengan atribut alt="")
    • Deskripsi Pendek
    • Konten (Topik yang di bahas)
  • Link sumber (Opsional)

Thumbnail dapat diletakan di bawah atau di atas Deskripsi Pendek bagi saya penempatan di atas Deskripsi Pendek sangat baik.

Mungkin itu saja yang dapat saya bagikan untuk hari ini. Mohon maaf apabila ada salah kata pada penulisan silahkan gunakan sistem komentar untuk bertanya.
Continue Reading

Material Design Blockquote Sederhana



Pada blog atau ketika kita membuat sebuah artikel blockquote digunakan sebagai element untuk mengutip sebuah paragraf dan kalimat agar menandai teks tersebut sebagai penting.

Dan sebelumnya saya juga sudah menerapkan nya di website saya sendiri berikut tampilan yang sudah jadi seperi yang terlihat di bawah ini.

Contoh sebuah kutipan yang penting !

Perlu diperhatikan saya membuat ini menggunakan google font dengan nama Open Sans itu artinya sobat perlu menambahkan font tersebut pada website untuk cara penambahan font family silahkan perhatikan metode di bawah ini.

Pada praktek nya sobat dapat menggunakan font selain Open Sans sesuai keinginan sobat.

Jika sobat sudah Terinstal font Roboto atau lain nya maka akan sepeerti ini.

//fonts.googleapis.com/css?family=Roboto:400,400i

untuk menambahkan link font pada font seperti di atas sobat tidak perlu membuat link css lagi akan tetapi cukup tambahkan | sebagai pemisah font.

//fonts.googleapis.com/css?family=Roboto:400,400i|Open+Sans:400,400i

Maka seperti itu nantinya, jika sudah maka kita lanjut ke penerapan css.

Silahkan sobat Login ke blogger jika belum,lanjut ke bagian tab Edit HTML lalu cari bagian </b:skin>.
tambahkan css pada bagian </b:skin>.

.post-body blockquote{text-align:left}
.post-body blockquote{background:#fff;color:#227fca;font-family:'Open Sans',sans-serif;font-size:15px;font-weight:normal;position:relative;margin:10px auto;padding:10px 20px;line-height:1.5em;border-left:5px solid #ea454f;border-radius:3px;-webkit-box-shadow:0 2px 2px 0 rgba(0,0,0,0.14),0 3px 1px -2px rgba(0,0,0,0.12),0 1px 5px 0 rgba(0,0,0,0.2);box-shadow:0 2px 2px 0 rgba(0,0,0,0.14),0 3px 1px -2px rgba(0,0,0,0.12),0 1px 5px 0 rgba(0,0,0,0.2)}
p,blockquote,pre,table,figure,hr,form,ol,ul,dl{margin:1.5em 0}

Dan satu lagi untuk penulisan seperti biasa.
<blockquote>...</blockquote>

Jika ada kekurangan silahkan kreasikan sendiri. Terima Kasih.
Continue Reading

Memilih Game Yang Cocok Untuk Komputer Anda


Jika kita berbicara soal memilih game pasti akan berfikir dua kali untuk langsung menginstal dikarenakan ragu serta takut akan lag ?? Namun yang kita bahas di sini adalah masalah di saat kita yang ingin sekali memainkan game kesayangan atau game favorit anda yang sudah lama di tunggu atau sudah pernah di mainkan sebelumnya dengan spek rendah , sedang atau tinggi.

Di masa sekarang sudah banyak sekali tersebar luas game-game yang sangat menarik, hal itu yang hingga sekarang menjadi masalah bagi para gamers ingin bermain game masa kini namun dengan spek komputer yang pas. Mengingat komponen komputer saat ini memiliki harga yang berkisar sangat mahal mungkin di luar dari biaya pengeluaran anda.


Nah di sini saya hanya ingin membantu sobat yang saya pikir ketika saat saya berjalan-jalan menelusuri beberapa forum di internet bahwa dapat saya hitung menjadi persen sekitar 60% orang membicarakan game ini cocok kah dengan spesifikasi komputer dengan detail yang berbeda-beda, berbeda dengan spesifikasi minimum dari game developer tersebut.

Apa itu Minimum System Requirement ?


Spesifikasi minimum (Minimum System Requirement) menyatakan anda harus berada diatas dari rincian spesifikasi yang sudah di tentukan itu artinya apabila anda menginstal game yang ingin anda mainkan akan tetapi anda memaksakan game tersebut untuk berjalan di komputer namun sayang nya salah satu komponen komputer anda tidak sesuai dengan apa yang ada dalam Spesifikasi minimum tersebut.

Apa itu Recommended System Requirements ?


Recommended System Requirements / Spesifikasi Maksimal atau Spesifikasi yang Direkomendasikan dimana producer / developer sudah menentukan sistem bagi komputer anda jika memang sesuai dengan rincian yang satu ini. Ini menunjukan bahwa ketika anda bermain anda tidak akan menemukan atau mengalami yang namanya stuter (Tidak Lancar/Tersendat).

Kita sebagai gamers atau pecinta permainan elektronik harus memiliki pengetahuan yang jelas akan cara kerja program yang jalan pada komputer kita termasuk di semua OP (Operating System). Operating System berkerja untuk menampilkan sebuah program yang tergantung dengan keserasian BIT(binary integrer) terdiri dari 32bit/64bit untuk menentukan mana bit yang sesuai ini tergantung kesesuaian antara System dengan komponen utama dari komputer anda yaitu Processor / lihat pada bagian spesifikasi pada website dari Processor anda. Pada konteks nya OP hanya bekerja setelah BIOS disaat komputer dioperasikan.

KOMPUTER <-> BIOS <-> SISTEM (OP) <-> PROGRAM

seperti itu urutan dasar nya , nah jika di buat circle atau lingkaran seperti diagram (maaf gak ada gambar ngirit data :D) program akan meminta beberapa intruksi kepada sistem , nah sistem akan menerima intruksi tersebut dan akan langsung mengirim intruksi tersebut apakah sesuai atau tidak dengan intruksi yang di berikan ke beberapa komponen inti komputer meliputi driver/usb/sensor/processor/disk/ram/vga-gpu/ .

Intruksi tersebut yang familiar dengan saya adalah seperti multitasking/multithreading/multiprocessing/multiprogramming/ dimana ini disuplai oleh system kepada processor dan lain nya.
Ini biasanya apabila salah satu intruksi tersebut lambat atau tidak demikian maka akan berpengaruh dengan program yang anda gunakan , dampaknya bervariasi seperti /lelet/hang/error/bluescreen/ itu sudah tugas bagi sistem untuk memberitahu anda bahwa ada masalah dengan kecocokan data, nah jika ngomong soal data sudah pasti sensitif ,maksud sensitif apabila broken/rusak sistem akan melakukan tindakan seperti itu.

Multi Tasking

multitasking adalah jika anda menggunakan beberapa program lebih dari 2 atau 3 pada saat bersamaan pada kenyataan nya saya membuka Browser dan sebelumnya saya sudah membuka Photo editor serta menonton video pada Pemutar Video pada saat bersamaan saya juga membuka program Antivirus pada latar belakang (Background Process).

Multi Threading

multithreading adalah terjadi dan ada pada setiap program dan seluruh program menggunakan ini pada background process atau front process , yang bekerja secara bertahap dalam sebuah lingkup waktu yang sudah di tentukan singkat nya kaya scheduling yang akan memberikan perintah kepada sistem yang nanti nya akan di eksekusi oleh sistem tergantung kapasitas cache (Levels) pada CPU.Multi Threading menggunakan chache Level(L1,L2,L3,etc) terbawah untuk mengeksekusi jadwal(schedule).

Multi Processing


multiprocessing adalah dimana sebuah program membutuhkan lebih dari 1 CORE yang dimanda pada setiap CORE memiliki beberapa Level, intruksi ini akan meminta kepada sistem untuk menggunakan satu atau dua di antara beberapa coresponding (CORE) pada CPU(central processing unit) komputer anda misal dual core/six core/eight core/dll. Nah pada setiap core itu ada Level yang dimana memiliki fungsi dan kontrol penuh yang digunakan program, jika program tidak menemukan core yang cukup maka sistem mencoba untuk menimpa setiap intruksi yang sama pada Level yang sama. Terhitung jika anda menggunakan program yang membutuhkan 4 core dimana pada setiap core ada lebih dari 2 Level.

Multi Programming

multiprogramming adalah pada sebuah Program memiliki sebuah Lapisan atau layer yang dimana jika satu program memiliki 5 lapisan kode yang terdiri dari bagian depan GUI,command line,dll,saya ambil contoh yang simpel saja anda membungkus 5 file dengan menggunakan unrar nah pada setiap file memiliki kode javascript nah demikian pada sebuah program memiliki bagian dan lapisan termasuk pada program latar belakang dan program GUI (Graphical User Interface) GUI hanya sebagai Lapisan terluar dari Lapisan terbawah ,Misal pada javascript saya klik Tombol oke namun kenyataan nya pada kode javascript di bawah ini menunjukan ketika saya klik maka akan muncul sebuah perintah yang di eksekusi oleh browser umpamakan browser adalah sistem dan tombol adalah GUI dan javascript adalah kode program, jadi intin nya tidak perlu repot menggunakan command line dengan mengetik terlebih dahulu.

$('#oke').click(function(){console.log('Di Klik')})


Jika penasaran silahkan cari dan unduh CPU-Z lalu lihat pada bagian intruksi pada CPU-Z cari informasi mengenai beberapa intruksi yang tersedia pada CPU anda tersebut, simpel nya kunjungu saja website dari processor anda lihat pada bagian intruksi/intruction.

Cukup jelas ya jadi Games sekarang sudah meliputi keseluruhan dari intruksi tersebut, jadi apabila anda memiliki komputer tradisional di bawah tahun sebelum berkembang nya CPU dual core maka di pastikan sulit memainkan game sekarang.

Namun jika anda sudah memiliki CPU minimal 2 core dengan 4 Gigabyte ram dan minimal HDD 300 Gigabyte untuk menyimpan game besar maka anda sudah dapat menikmati beberapa game berat tidak semua game namun beberapa dapat dimainkan dengan mulus tentu untuk memainkan game ukuran besar maka jangkauan perintah sistem butuh diperbesar dengan menggunakan 64bit operating system.

Berikut Game yang saya rekomendasikan untuk anda mainkan mulai dari 2 core sampai i7 khusus 64bit OP.
Games CPU RAM
Rise Of The Tomb Raider. Intel Core i3-2100 6GB
Pro Evolution Soccer 2016 Intel Core 2 Duo @ 1.8 GHz 2GB
Formula 1 2013 Intel Core 2 Duo E6600 2.4GHz 2GB
FIFA 14 Intel Core 2 Duo E6600 2.4GHz 2GB
Devil May Cry 5 pre-release 2019 Intel Core i7-4770 3.4GHz 8GB
Devil May Cry 1 - 5 Unreal Engine Intel Core 2 Duo 2.4GHz 2GB
Simcity Intel Core 2 Duo 2.4GHz 2GB
The Sims - The Sims 4 Intel Core 2 Duo 2.80GHz 4GB

Table diatas tidak menentukan kekakuratan yang pasti silahkan sobat cari referensi yang sesuai.

Nah demikian postingan untuk postingan hari ini , mudah-mudahan konten yang saya bagikan pada hari ini dapat bermanfaat bagi anda paling tidak menjadi wawasan bagi anda yang masih bertanya soal spesifikasi komputer dan games. Terima kasih
Continue Reading

Tentang penggunaan position absolute


Di bagian CSS (Cascading Style Sheet) terdapat 4 buah position relative,absolute,static,fixed. Yang akan saya bahas kali ini adalah Position Absolute (position:absolute).

Penggunaan style absolute hampir mirip dengan Fixed dimana perbedaan nya adalah pada position fixed melayang pada seluruh parent element atau element teratas contoh : body , head artinya tidak penting dimana di tempatkan maka akan tetap berada di atas dari sebuah element lain nya terkecuali apabila position fixed di beri z-index:0 namun, lain hal nya dengan position absolute,position absolute digunakan di dalam sebuah parent element yang wajib memiliki position relative contoh : wrapper.

Perlu diketahui juga sob penggunaan position absolute sangat terbatas pada tampilan smartphone/handphone/android/ios.
karena apabila tidak menggunakan @media screen yang tidak tepat akan membuat element menghilang dari layar, atau akan menutupi bagian element lain.

Jadi element dengan markup seperti <div style="position:absolute">position absolute</div> yang terdapat pada <div style="position:relative"></div>.
maka akan berada di dalam element tersebut atau fit dengan parent element dengan style position relative.

contoh:
<div style="position:relative">
  <div style="position:absolute">position absolute</div>
</div>

Namun sobat harus membuat satu atau dua style tambahan yaitu antara left:0,right:0,top:0,bottom:0. Disini saya akan membuat nya dengan top:0 dan right:0 itu artinya posisi element akan ada pada bagian dalam kanan atas element. Dan , gunakan margin:0;padding:0 pada parent element , anda juga boleh menggunakan tambahan max-width,dan max-height atau width dan height jika di perlukan dan ingat width dengan max-width berbeda bila element di dalam kosong maka lebar atau width akan ke angka 0 namun apabila anda menggunakan atau combine keduanya contoh: max-width:500px;width:100% maka biarpun tidak ada element di dalam nya lebar akan tetap 500px namun apabila anda menulis max-width:500px;width:300px dengan tanpa adanya element di dalamnya maka width selalu pada angka 0 sebaliknya apabila ada element di dalamnya maka max-width:500px tidak terpakai dikarenakan width:300px sudah di iplementasikan.

tips : anda dapat menggunakan ukuran Relative atau Absolute lihat pada artikel w3schools.com.

Absolute


Luas Keterangan
cm centimeters
mm millimeters
in inches
px pixels
pt points
pc picas

Relative


Luas Keterangan
em Relative to the font-size of the element (2em means 2 times the size of the current font)
ex Relative to the x-height of the current font (rarely used)
ch Relative to width of the "0" (zero)
rem Relative to font-size of the root element
vw Relative to 1% of the width of the viewport*
vh Relative to 1% of the height of the viewport*
vmin Relative to 1% of viewport's* smaller dimension
vmax Relative to 1% of viewport's* larger dimension
% Relative to the parent element

<div style="position:relative;margin:0;padding:0;max-width:500px;width:100%">
  <div style="position:absolute;top:0;right:0">position absolute</div>
</div>

saya jelaskan penggunaan atribut style disini.
jika anda menggunakan atribut style maka anda tidak perlu menulis CSS pada markup <style>...</style> dengan sebuah selector element tersebut, jika anda menulis sebuah CSS dengan selector namun terindikasi element tersebut sudah memiliki style maka penulisan seperti ini adalah salah namun tidak dapat di katakan salah apabila anda menggunakan javascript untuk membuat style tertentu dengan selector tertentu yang memang element tersebut sudah memiliki style default dan ingin merubah element tersebut pada element yang sudah di tentukan saja.

<style type="text/css">
.contoh {
  position: relative;
  background: #f1f1f1;
  border: 2px solid #ddd;
  display: block;
  margin: 1em auto;
  padding: 0;
  max-width: 500px;
  max-height: 200px;
  min-height: 100px;
  width: 100%;
  vertical-align: baseline;
  box-sizing: border-box;
}

.pos-absolute {
  position: absolute;
  color: #222;
  background: #fafafa;
  font-size: 13px;
  padding: 10px;
  margin: 5px;
  top: 0;
  right: 0
}
</style>

<div class="contoh">
  <div class="pos-absolute">position absolute</div>
</div>



Demikian bagaimana menulis kode css position absolute. Semoga saja dapat menambah pengetahuan bagi anda yang ingin mengetahui style position pada CSS, setidak nya bermanfaat untuk anda pelajari. Terima Kasih.
Continue Reading

Jquery Notifikasi Adblock Untuk Blogger


Bagi orang mungkin iklan memang mengganggu di saat ingin membaca artikel bahkan ingin menonton video secara streaming misalnya saja di youtube , kadang iklan seperti kurang familiar dengan mata pengunjung sehingga wajar mereka memasang ekstensi adblock di browser untuk menghindari iklan yang tampil atau menyembunyikan iklan yang mengganggu.

Namun hal itu ternyata memberatkan juga bagi si pemilik blog karena apabila adblock aktif , otomatis karena iklan tidak tampil saat halaman di muat maka publisher tidak akan mendapat tayangan terhadap iklan tersebut. Apabila ini terjadi secara terus-menerus , maka pihak yang punya blog lah yang sudah pasti akan rugi, sadis nya apalagi jika dari 60% pengunjung anda menggunakan adblock.

Karena adanya ekstensi adblock maka muncul lah beberapa solusi salah satunya ini notifikasi adblock. Untuk bentuk dan bagaimana penerapan nya mungkin berbeda-beda tergantung dari si publiher nya sendiri , ada yang mengaruskan mematikan adblock dengan lement fullscreen, ada juga yang memang hanya memberitahu saja tanpa mengharuskan mematikan adblock.
Namun cara demikian kadang kurang berhasil , karena adblock sendiri selalu update tiap hari , di tambah user yang kian hari semakin banyak menggunakan adblock, bagi blogger ini seperti menangkap angin.hehe..

Khusus anda yang memang hobi di blogger dan memang sedang mencari cara untuk memberikan perhatian terhadap iklan yang ada di blog kepada pengunjung maka, saya sudah membuat Notifikasi Adblock metode nya adalah hanya mengingatkan pengunjung jika blog anda terdapat iklan seperti iklan adsense atau iklan media.net cara ini mungkin tidak secara keseluruhan namun perlahan tapi tanpa mengganggu si pengunjung untuk memaksa mematikan adblocker akan lebih efektif, inti nya yang terpenting anda memberitahu tanpa harus kehilangan visitor pada blog itu inti nya.

Penerapan

Mudah anda tinggal cari kode <head/> diatas tambahkan kode di bawah tambahkan tag kondisional bila diperlukan.

<script type='text/javascript'>
//<![CDATA[
// Adblock
$(function(){var a=document.createElement("script");a.type="text/javascript",a.async=!0,a.src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js",a.onerror=function(){var a,t,e,o;e=$(".adscontainer,.adsbygoogle"),o='<div class="fxblocker" style="background:'+([]+(a=["#6dd5fa","#4286f4","#f5af19","#f12711","#20e3b2","#29ffc6","#0cebeb"])[Math.floor(Math.random()*a.length)])+'"><p>'+([]+(t=['If you found this can make you happy you\'ll have to consider supporting US by whitelisting This site on your adblocker. <i class="fa fa-heart"/>','See, you didn\'t turning off your adblocker yet ? please disable it to keep this thing\'s up running.tks','As you can see you just turn on adblocker again, it seems we can\'t stay last longer. if we didn\'t receive any revenue from our advertiser.'])[Math.floor(Math.random()*t.length)])+'</p></div>',$(e).before(o),window.adblock=!0};var e=document.getElementsByTagName("script")[0];e.parentNode.insertBefore(a,e)});
//]]>
</script>
<!-- Kode iklan otomatis disini -->

Kode di atas mempunyai variable array secara acak pada value ["#6dd5fa","#4286f4","#f5af19","#f12711","#20e3b2","#29ffc6","#0cebeb"]
kode itu adalah kumpulan warna yang di pisahkan dengan koma, jadi warna tersebut akan otomatis di terapkan sebagai background dari element adblock anda, jadi jika anda bosan dengan warna A maka otomatis warna akan di ganti secara acak.

Berkaitan dengan array variabel teks di bawah ini :

['If you found this can make you happy you\'ll have to consider supporting US by whitelisting This site on your adblocker. <i class="fa fa-heart"/>','See, you didn\'t turning off your adblocker yet ? please disable it to keep this thing\'s up running.tks','As you can see you just turn on adblocker again, it seems we can\'t stay last longer. if we didn\'t receive any revenue from our advertiser.']

Variable array tersebut adalah bagian informasi dari elemen yang di pilih secara acak seperti variabel warna, jadi user dapat membaca kata-kata atau informasi anda dengan teks yang berbeda hampir sama dengan JSON.

Untuk tambah keren tambahkan CSS di bawah ini, tempelkan di bagian </b:skin>

/*FXBLOCKER*/
.fxblocker{background:#9C27B0;color:#fff;padding:15px 10px;position:relative;width:100%;height:auto;margin:0 auto;cursor:pointer;pointer-events:none;transition:all .3s}
.fxblocker p{margin:1em 0}
.fxblocker p img{display:inline-block}

Simpan template anda.


Nah, itu dia cara memasang Notifikasi Adblock di blogger.
Dan postingan ini saya rasa cukup lah ya ,apabila ada yang kurang dengan cara di atas silahkan berikan saran di komentar.
Continue Reading

Dereloading v4.4 Safelink Blogger Template


Sebelum nya saya sudah merelease versi sebelumnya v4.1. Seperti yang saya jelaskan sebelumnya template ini memiliki dua fungsi yaitu Shorten Url dan Safelink Url dimana memiliki metode yang berbeda serta fungsi yang berbeda juga.

Dereloading sudah mengalami banyak perubahan semenjak tanggal release dari mulai september kemarin, dimana waktu itu saya gak begitu fokus dengan mobile namun dengan apa yang saya alami ternyata berdampak juga dengan tingkat pengunjung. Jadi saya sarankan yang telah mendownload atau menerapkan seluruh kode dari saya silahkan anda update dengan yang ini.

Fitur

  • Gratis tetapi memiliki Kualitas Premium
  • 2 halaman konverter dengan fungsi link konverter yang berbeda Shorten URL + Safelink URL
  • Safelink + Pengunci Link (Password Lock/Password Protected)

Fitur Terbaru

  • Dashboard Managemen
  • Admin Panel pada sidebar
  • Simpel layout pada Mobile/Smartphone
  • Desain UI Material ala Google

Shortener

Pada template ini memungkinkan si user dapat mengkonversi tautan download atau tautan website menjadi tautan yang berisi parameter dan 5 huruf atau angka yang berbeda.

Dimana metode ini menggunakan fungsi utama nya dengan menggunakan JSON yang nanti ketika user mengeklik generate atau meminta link yang di tuju maka jquery mengirim permintaan HTTP seperti POST/DELETE/MERGE tergantung dari apa yang ingin di lakuin pada website.
Fitur ini menggunakan open-source project JSONSTORE.IO oleh BLUZI. Dimana saya gunakan sebagai penyimpanan data dimana nanti nya tautan hasil dari konverter URL Shortener akan di simpan dalam bentuk array (JSON). Anda juga bisa mengelola link tersebut pada Dashboard (ADMIN ONLY).

Safelink

Dereloading memiliki 2 buah fungsi utama yang terutama sebagai base fitur adalah ini Safelink konverter dimana memiliki API jadi sobat bisa menaruh ini di template sobat yang lain contoh nya saja Auto Safelink (Safelink konverter otomatis) dimana kode yang di bentuk telah mengalami banyak perubahan sehingga sobat gak perlu repot nulis website yang tidak ingin di ganti link nya dengan link safelink. Pada intinya pemasangan hanya dengan menerapkan 1 link CDN dan 1 link JSON blogger callback dari postingan blog safelink.

Tidak seperti fungsi dari Shortener pada fungsi dari Safelink tidak membutuhkan Dashboard lagi.
Sedangkan pada Shortener tidak menggunakan Password Lock layaknya pada Safelink.

Random Post ?

Iya , untuk kedua nya Shorten dan Safelink support dengan multi Random Post.

Apa akan terjadi bentrokan link ?

Tidak ada gan. Tenang ajah mana ada browser yang membolehkan membuka satu jendela dengan 2 buah doctype yang berbeda ? Iframe ? jelas sekali JS,CSS tidak bisa mengkases iframe ! hehe. Intinya tidak ada Bentrok atau missunderstanding pada Function jquery ataupun ECMASCRIPT yang ada pada template.

Dashboard

Penggunaan dashboard di sini hanya untuk menghapus , memantau dan menjaga agar terhindar dari spam link. Jadi si pemilik dengan si user berbeda Role ! Admin atau si pemilik website dapat mengakses Dashboard dengan catatan nanti akan saya ceritakan di facebook messenger saja ya.


USER YANG MENCOBA MASUK KE DASHBOARD PLEASE/TOLONG UNTUK PEMILIK LAPOR KE SAYA AGAR SAYA DAPAT MEMPERBAIKI AKSES.

Penginstalan

Pada versi yang ini V4.4 Latest Version sudah tidak menggunakan yang nama nya JSON telanjang ????? JSON TELANJANG ??? hehe bukan JSON gak pake baju melainkan JSON yang tidak di konversi tanyakan saya tentang ini di facebook untuk menjaga privasi blog sobat. atau kirim email agiltriono@gmail.com dengan catatan tanpa menyertakan link/ melakukan spam email tanyakan secukupnya saja.


Untuk cara instal ada pada folder dokumentasi dan untuk Link Download via google drive.

apabila anda mengalami kesulitan saat instal silahkan pergi ke halaman Contact US silahkan sertakan link blog sobat dan nanti saya akan memandu penginstalan pada blog tersebut seperti layaknya di Dereloading.


Link download sudah di update.
Continue Reading

Multi Fungsi Pengunci Konten (Content Locker) Terbaru


Sebenar nya saya sudah memposting hal serupa pada postingan sebelumnya pada topic Cara Membuat Pengunci Konten (Content Locker). Pada topic yang akan saya bahas adalah bagaimana cara memubat konten locker yang sebelumnya hanya dapat di taruh hanya dengan satu elemen saja di dalam postingan merubah nya menjadi multi konten untuk beberapa konten postingan atau pada bagian elemen di bagian blog sobat.cukup menarik sih , sebelum nya saya belum mengarah kesini sebelumnya namun karena ada request jadi saya buatkan yang seperi ini.

Berguna untuk menyembunyikan dari pencurian postingan tidak ?


Jelas kalo sobat pengen menyembunyikan konten yang gak gampang di salin ya menggunakan ini , secara otomatis hasil salin dari sorotan text postingan yang ingin di salin oleh pengunjung tidak akan tersalin terkecuali di luar dari bagian dari elemen pengunci itu sendiri.Namun itu masih experiment.

Oke jadi buat yang sudah pernah nyoba ini , silahkan jika ingin merubah atau menimpa tutorial lama yang serupa pada postingan sebelumnya dengan yang ini anda harus menghapus seluruh kode CSS,JAVASCRIPT, termasuk Pengunci Konten yang sudah ada pada postingan.

untuk yang baru ingin memasang atau yang sudah di pasang sebelumnya yuk langkah-langkah nya.

pertama kita buat kode style dengan tipe text/css tanpa scope ya karena ini global tidak termasuk halaman error.
salin semua kode di bawah ke bagian bawah </b:skin> atau di bagian atas tag penutup </head>
<b:if cond='!data:view.isError'>
<style type="text/css">
/* css reset : hapus apabila sudah ada pada bagian template */
html,body{margin:0;padding:0}
*,*:before,*:after{box-sizing:border-box;vertical-align:baseline}
input,button{outline:none!important}
input{border:none!important}
/* main css : untuk kedepan gunakan border:1px solid transparent pada tombol reload untuk fix IE 8+ */
.passprotective{width:100%;height:auto;margin:0 auto;display:block;position:relative;background:#fff;padding:10px;box-sizing:border-box}
.hide-by-pass{display:block;margin:20px auto;padding:20px;width:100%;height:auto;max-width:400px;position:relative;background:#fff;font-family:'Roboto',sans-serif;box-sizing:border-box}
.hide-by-pass .input-row{margin:0;padding:0;position:relative}
.hide-by-pass .pass-input-bypass::-webkit-input-placeholder{color:#222}
.hide-by-pass .pass-input-bypass::-moz-placeholder{color:#222}
.hide-by-pass .pass-input-bypass:-ms-input-placeholder{color:#222}
.hide-by-pass .pass-input-bypass:-moz-placeholder{color:#222}
.hide-by-pass .pass-input-bypass{margin:0;padding:10px}
.hide-by-pass .pass-input-bypass{font: 15px/24px "Lato", Arial, sans-serif; color: #555; width: 100%; box-sizing: border-box; letter-spacing: 1px;background:none;}
.hide-by-pass .pass-input-bypass ~ .focus-border:before,
.hide-by-pass .pass-input-bypass ~ .focus-border:after{content: ""; position: absolute; top: 0; left: 50%; width: 0; height: 2px; background-color: #F1C40F; transition: 0.4s;}
.hide-by-pass .pass-input-bypass ~ .focus-border:after{top: auto; bottom: 0;}
.hide-by-pass .pass-input-bypass ~ .focus-border i:before,
.hide-by-pass .pass-input-bypass ~ .focus-border i:after{content: ""; position: absolute; top: 50%; left: 0; width: 2px; height: 0; background-color: #F1C40F; transition: 0.6s;}
.hide-by-pass .pass-input-bypass ~ .focus-border i:after{left: auto; right: 0;}
.hide-by-pass .pass-input-bypass:focus ~ .focus-border:before,
.hide-by-pass .pass-input-bypass:focus ~ .focus-border:after{left: 0; width: 100%; transition: 0.4s;}
.hide-by-pass .pass-input-bypass:focus ~ .focus-border i:before,
.hide-by-pass .pass-input-bypass:focus ~ .focus-border i:after{top: 0; height: 100%; transition: 0.6s;}
.hide-by-pass .content-pass-protected{margin-top:1em;margin-bottom:1em;display:block;position:relative;padding:5px 5px}
.hide-by-pass .btn-center{text-align:center}
.hide-by-pass .btn_reload{display:inline-block;padding:3px 9px;border:0.1em solid transparent;margin:0 1em;border-radius:5px;box-sizing:border-box;text-decoration:none;font-family:'Roboto',sans-serif;font-weight:300;color:#fff;background:#294b75;cursor:pointer;text-align:center;transition:all 0.2s}
.hide-by-pass .btn-down{display:inline-block;padding:0.35em 1.2em;border:0.1em solid #555;margin:0;border-radius:0.12em;box-sizing:border-box;text-decoration:none;font-family:'Roboto',sans-serif;font-weight:300;color:#555;text-align:center;transition:all 0.2s}
.hide-by-pass .btn-down:hover{color:#fff;background-color:#555}
.hide-by-pass .not-have-permission{display:block;margin:5px auto;padding:10px;max-width:200px;max-height:200px;box-sizing:border-box}
.hide-by-pass .title-wrp{color:#b1e4fd;display:block;font-family:'Roboto',sans-serif;font-size:15px;margin:0;white-space:normal;word-break:break-word;padding:10px;font-weight:bold;box-sizing:border-box;text-align:center}
.hide-by-pass .title-wrp svg{width:70px;height:70px}
.hide-by-pass .title-wrp path{fill:none;stroke:#555}
.hide-by-pass .title-wrp path + path{fill:#fff27e;stroke:#fff27e}
.hide-by-pass .check{display:block;margin:0;padding:0;width:auto;height:auto;box-sizing:border-box}
.hide-by-pass,.pass-input-bypass{box-sizing:border-box;-webkit-box-shadow:0 2px 2px 0 rgba(0,0,0,0.14),0 3px 1px -2px rgba(0,0,0,0.12),0 1px 5px 0 rgba(0,0,0,0.2);box-shadow:0 2px 2px 0 rgba(0,0,0,0.14),0 3px 1px -2px rgba(0,0,0,0.12),0 1px 5px 0 rgba(0,0,0,0.2)}
.hide-by-pass .check .not-found,.hide-by-pass .check .has-error,.hide-by-pass .check .no-error{font-weight:bold;border-radius:5px;padding:10px}
.hide-by-pass .check .not-found{color:#555;background:#fff27e!important;box-sizing:border-box}
.hide-by-pass .check .has-error{color:#fff;background:#f37c73!important;box-sizing:border-box}
.hide-by-pass .check .no-error{color:#fff;background:#4CAF50!important;box-sizing:border-box}
.hide-by-pass .ticket-by{margin:10px 0;padding:10px;font-weight:normal;position:relative;display:block;color:#2196F3}
.hide-by-pass .ticket-content{display:inline-block;position:relative;color:#2196F3;font-weight:bold;text-decoration-style:wavy;text-decoration-color:#F44336;text-decoration-line:underline}
.hide-by-pass:hover{-webkit-animation:shake 0.82s cubic-bezier(0.36,0.07,0.19,0.97) both;animation:shake 0.82s cubic-bezier(0.36,0.07,0.19,0.97) both;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}
@-webkit-keyframes shake{10%,90%{-webkit-transform:translate3d(-1px,0,0);transform:translate3d(-1px,0,0)}20%,80%{-webkit-transform:translate3d(2px,0,0);transform:translate3d(2px,0,0)}30%,50%,70%{-webkit-transform:translate3d(-4px,0,0);transform:translate3d(-4px,0,0)}40%,60%{-webkit-transform:translate3d(4px,0,0);transform:translate3d(4px,0,0)}}
@keyframes shake{10%,90%{-webkit-transform:translate3d(-1px,0,0);transform:translate3d(-1px,0,0)}20%,80%{-webkit-transform:translate3d(2px,0,0);transform:translate3d(2px,0,0)}30%,50%,70%{-webkit-transform:translate3d(-4px,0,0);transform:translate3d(-4px,0,0)}40%,60%{-webkit-transform:translate3d(4px,0,0);transform:translate3d(4px,0,0)}}
@media all and (max-width:30em){.hide-by-pass .btn-down{display:block;margin:0.4em auto}}
</style>
</b:if>
Oke kita sudah memasang css baru pada blog sobat dan sekarang kita pasang kode jquery yang baru.
Diatas tag penutup </body> buat baris kosong lalu salin kode javascript di bawah dengan dengan di sertai tag kondisional halaman error <b:if cond='!data:view.isError'>...</b:if>.

silahkan salin semua kode di bawah pada bagian kosong yang sudah sobag buat tadi.
<b:if cond='!data:view.isError'>
<script type="text/javascript">
//<![CDATA[
$(function() {
    function codes() {
        var val = "";
        var arr = "0123456789";
        for(var i = 0; i < 5; i++)
            val += arr.charAt(Math.floor(Math.random() * arr.length));
        return val
    }
    $('[pass-protected]').each(function(e, t) {
        var e = $(this),
            atrib = e.attr('pass-protected'),
            saved = e.children().clone(true),
            hide_bypass = $('<div class="hide-by-pass"><div class="not-have-permission"><div class="title-wrp"><svg viewBox="-85 -85.625 190 190"><path fill="none" stroke="gray" stroke-width="23.076" d="M10-71.391c25.492 0 46.152 20.66 46.152 46.151v46.152c0 25.491-20.66 46.151-46.152 46.151-25.491 0-46.151-20.66-46.151-46.151V-25.24c0-25.49 20.66-46.151 46.151-46.151z"/><path fill="#b80404" d="M-47.689-13.701H67.689c6.373 0 11.538 5.165 11.538 11.538v92.304c0 6.373-5.165 11.538-11.538 11.538H-47.689c-6.373 0-11.538-5.165-11.538-11.538V-2.163c-.001-6.373 5.164-11.538 11.538-11.538z"/></svg><div class="desc">Protected Content</div></div></div><br/><div class="input-row"><input class="pass-input-bypass" type="text" placeholder="Your Ticket"/><span class="focus-border"><i/></span></div><p><div class="ticket-by">Code : <div class="ticket-content"></div><button class="btn_reload">Reload</button></div></p><div class="check"><div class="not-found">Please insert code.</div></div></div>');
        if(e != null) {
            e.children().remove();
            hide_bypass.appendTo(e)

            var input = e.find('.pass-input-bypass'),
                err_c = $('<div class="not-found">No Error</div>'),
                ticket = codes(),
                check = e.find('.check'),
                tickets = e.find('.ticket-content'),
                btn_reload = e.find('.btn_reload');
            tickets.append(ticket);
            btn_reload.click(function() {
                tickets.html(codes())
            })
            input.on('keyup', function() {
                if(input.val() === tickets.text()) {
                    check.html('<div class="no-error">Correct !</div>')
                    input.attr('readonly','readonly')
                    btn_reload.attr('disabled','disabled')
                    setTimeout(function() {
                        check.html('');
                        saved.appendTo(check);
                    }, 2000)
                } else {
                    check.html('<div class="has-error">Try Again !</div>')
                    setTimeout(function() {
                        check.html('')
                    }, 1000)
                }
            })
        } else {
            return false;
        }
    })
})
//]]>
</script>
</b:if>
Jangan lupa sekarang save template.

Nah sekarang kita terapkan penerapan kode kondisional pada elemen yang ingin kita sembunyikan.
untuk yang sekarang sobat hanya butuh satu parent elemen atau bisa di bilang elemen terluar jadi sobat cuma menulis kode seperti ini nantinya.

<div pass-protected='true'>

<!-- Konten apa yang ingin di sembunyikan ? -->

</div>

Dan karena ini untuk beberapa komponen pada elemen html maka bisa seperti ini di order atau di suffle cara penempatan nya.

   <div pass-protected="true">
       <div class="btn-center">
          <a href="javascript:void(0)" class="btn btn-down">Download 1</a>
        </div>
    </div>

   <div pass-protected="true">
       <div class="btn-center">
          <a href="javascript:void(0)" class="btn btn-down">Download 2</a>
        </div>
    </div>

   <div pass-protected="true">
       <div class="btn-center">
          <a href="javascript:void(0)" class="btn btn-down">Download 3</a>
        </div>
    </div>

   <div pass-protected="true">
       <div class="btn-center">
          <a href="javascript:void(0)" class="btn btn-down">Download 4</a>
        </div>
    </div>

jika konten tidak ingin di sembunyikan sobat tidak perlu kode tambahan lagi seperti yang di atas hanya cukup tulis seperti biasa saja.
sebaliknya tambahkan elemen seperti yang tertera di atas yaitu dengan menambahkan satu parent elemen div dengan atribut pass-protected="true".

NOTE : Kalimat atau paragraf yang tidak memiliki tag <p> tidak bisa di sembunyikan apabila ingin mengunci konten dengan paragraf gunakan seperti ini.

<!-- badan postingan -->

<div pass-protected="true">
<p>konten paragraph</p>
</div>

<!-- akhir postingan -->

jangan seperti ini :

<!-- badan postingan -->

<div pass-protected="true">
INI ADALAH PARAGRAF TANPA ADA TAG HTML
</div>

<!-- akhir postingan -->

Penulisan yang benar :

<!-- badan postingan -->

<div pass-protected="true">
<p>Saya ini adalah text yang akan di sembunyikan, saya tidak akan dapat di lihat dengan mudah ! </p>
</div>

<!-- akhir postingan -->


Silahkan check yang sudah jadi ! Selamat bereksperimen !

Continue Reading

Cara Membuat Pengunci Konten (Content Locker)



Kemarin saya mendapat ide ingin membuat content locker atau bisa dikatakan klik subscribe untuk mengunduh atau bisa juga di bilang masukan kata kunci atau pada captcha jika kode sama maka konten akan tampil dengan fungsi callback.
namun pada saat saya mengerjakan elemen yang satu ini pikiran saya bertuju ke hal lain. Di saat sudah jadi kenapa yang saya buat malah jadi mirip dengan Google Recaptcha ?. Bingung saya namun yang membedakan ialah tidak menggunakan kode bergambar melainkan kode dengan bentuk angka.

Sedikit bermanfaat sih apabila kita ingin mencoba menyembunyikan konten ini untuk menghindari copy paste link unduhan oleh orang lain, maka dari itu saya buat ini.

kalian juga dapat menerapkan ini di blog sobat dengan mengikuti tahap demi tahap yang saya berikan. Tapi saya tidak menjamin kode dapat di render di semua broswer namun pada intinya saya menggunakan jquery dan jquery itu sebenranya kumpulan kode menggunakan javascript jadi mudah-mudahan tidak ada isu pada kompatibilitas pada browser lain selain chrome.

pertama kita buat dahulu susunan tag style kosong layaknya di bawah ini.

<style type="text/css">

</style>

eh ingat loh ! kita ingin itu tampil pada postingan blog saja jadi kita sisipkan tag kondisional blogger.

<b:if cond='data:view.isPost'>
<style type="text/css">

</style>
</b:if>

nah kalian tempelkan kode di atas tepat di bagian bawah dari </b:skin>.

setelah itu kita rancang bagian-bagian CSS pada tag style .
silahkan salin kode di bawah dan taruh di bagian style yang sudah kita buat.Jadi nya seperti ini.

<b:if cond='data:view.isPost'>
<style type="text/css">
.passprotective{width:100%;height:auto;margin:0 auto;display:block;position:relative;background:#3F51B5;height:100%;padding:10px}
.hide-by-pass{display:block;margin:0 auto;padding:20px;max-width:400px;position:relative;background:#ffffff;font-family:'Roboto',sans-serif}
input,button{outline:none!important}
input{border:none!important}
#pass-input-bypass{width:100%;padding:12px 20px;margin:8px 0;display:inline-block;border:1px solid #ccc;border-radius:4px;box-sizing:border-box}
.content-pass-protected{margin-top:1em;margin-bottom:1em;display:block;position:relative;padding:5px 5px}
.btn-center{text-align:center}
#btn_reload{display:inline-block;padding:3px 9px;border:0.1em solid #fb2718;margin:0 1em;border-radius:5px;box-sizing:border-box;text-decoration:none;font-family:'Roboto',sans-serif;font-weight:300;color:#fb2718;background:transparent;cursor:pointer;text-align:center;transition:all 0.2s}
.btn-down{display:inline-block;padding:0.35em 1.2em;border:0.1em solid #555;margin:0;border-radius:0.12em;box-sizing:border-box;text-decoration:none;font-family:'Roboto',sans-serif;font-weight:300;color:#555;text-align:center;transition:all 0.2s}
.btn-down:hover{color:#fff;background-color:#555}
@media all and (max-width:30em){.btn-down{display:block;margin:0.4em auto}}
.title-wrp{color:#e65045;vertical-align:baseline;font-family:'Roboto',sans-serif;font-size:15px;margin:0;white-space:normal;word-break:break-word;padding:0;font-weight:bold;text-transform:uppercase}
.hide-by-pass,#pass-input-bypass{-webkit-box-shadow:0 2px 2px 0 rgba(0,0,0,0.14),0 3px 1px -2px rgba(0,0,0,0.12),0 1px 5px 0 rgba(0,0,0,0.2);box-shadow:0 2px 2px 0 rgba(0,0,0,0.14),0 3px 1px -2px rgba(0,0,0,0.12),0 1px 5px 0 rgba(0,0,0,0.2)}
#not-found,#has-error,#no-error{font-weight:bold;border-radius:5px;width:100%;height:100%;padding:10px}
#not-found{color:#fff;background:#4CAF50!important}
#has-error{color:#fff;background:#E91E63!important}
#no-error{color:#fff;background:#4CAF50!important}
#ticket-by{font-weight:normal;position:relative;display:block;color:#555}
#ticket-content{display:inline-block;position:relative;color:#ff3030;font-weight:bold}
</style>
</b:if>

jika sudah jangan simpan template dahulu, kita cari dulu tag </body> yaitu tag penutup <body> pada baian bawah template sebelum tag </html>.
di atas tag </body> kita buat tag <script>.

<b:if cond='data:view.isPost'>
<script type='text/javascript'>


</script>
</b:if>


jangan lupa jika kalian tidak menggunakan script dengan tag kode variable atau tag value seperti <data.post.id/> seperti itu selalu cantumkan tag //<![CDATA[...//]]> supaya kode tidak terkonversi menjadi seperti &quote; karena penggunaan tag seperti ini di javascript sangat tidak di rekomendasikan.
jadi tampilan tag <script> tadi akan terlihat seperti ini.

<b:if cond='data:view.isPost'>
<script type='text/javascript'>
//<![CDATA[


//]]>
</script>
</b:if>


step terakhir kita tambahkan kode jquery pada tag <script> yang tadi kita buat.Maka akan tampak seperti ini.

<b:if cond='data:view.isPost'>
<script type='text/javascript'>
//<![CDATA[
$(function() {
    function codes() {
        var val = "";
        var arr = "0123456789";
        for(var i = 0; i < 5; i++)
            val += arr.charAt(Math.floor(Math.random() * arr.length));
        return val
    }
    var check_if_protected = $('.hide-by-pass');
    $(check_if_protected).each(function(e, t) {
        var atrib = $(this).attr('pass-protected');
        var target = $('.content-pass-protected'),
            saved = target.clone(true),
            hide_bypass = $('<div class="not-have-permission"><h4 class="title-wrp">RESTRICTED CONTENT ! <br/> YOU DONT HAVE PERMISSION TO ACCESS THIS CONTENT !</h4></div><br/><input id="pass-input-bypass" type="text" placeholder="Your Ticket"><p><div id="ticket-by">Code : <div id="ticket-content"></div><button id="btn_reload">Reload</button></div></p><div id="check"><div id="not-found">No Error</div></div>');
        if(atrib === 'true') {
            target.remove();
            hide_bypass.appendTo('.hide-by-pass')
            var input = $('#pass-input-bypass'),
                err_c = $('<div id="not-found">No Error</div>'),
                ticket = codes(),
                check = $('#check'),
                tickets = $('#ticket-content'),
                btn_reload = $('#btn_reload');
            tickets.append(ticket);
            btn_reload.click(function() {
                tickets.html(codes())
            })
            input.on('keyup', function() {
                if(input.val() === tickets.text()) {
                    check.html('<div id="no-error">Correct !</div>')
                    setTimeout(function() {
                        check.html('');
                        saved.appendTo(check);
                    }, 2000)
                } else {
                    check.html('<div id="has-error">Try Again !</div>')
                    setTimeout(function() {
                        $('#has-error').remove()
                    }, 1000)
                }
            })
        } else {
            return false;
        }
    })
})
//]]>
</script>
</b:if>

atau tanpa Jquery DOM ready.

<b:if cond='data:view.isPost'>
<script type='text/javascript'>
//<![CDATA[
function protected_content(){
    function codes() {
        var val = "";
        var arr = "0123456789";
        for(var i = 0; i < 5; i++)
            val += arr.charAt(Math.floor(Math.random() * arr.length));
        return val
    }
    var check_if_protected = $('.hide-by-pass');
    $(check_if_protected).each(function(e, t) {
        var atrib = $(this).attr('pass-protected');
        var target = $('.content-pass-protected'),
            saved = target.clone(true),
            hide_bypass = $('<div class="not-have-permission"><h4 class="title-wrp">RESTRICTED CONTENT ! <br/> YOU DONT HAVE PERMISSION TO ACCESS THIS CONTENT !</h4></div><br/><input id="pass-input-bypass" type="text" placeholder="Your Ticket"><p><div id="ticket-by">Code : <div id="ticket-content"></div><button id="btn_reload">Reload</button></div></p><div id="check"><div id="not-found">No Error</div></div>');
        if(atrib === 'true') {
            target.remove();
            hide_bypass.appendTo('.hide-by-pass')
            var input = $('#pass-input-bypass'),
                err_c = $('<div id="not-found">No Error</div>'),
                ticket = codes(),
                check = $('#check'),
                tickets = $('#ticket-content'),
                btn_reload = $('#btn_reload');
            tickets.append(ticket);
            btn_reload.click(function() {
                tickets.html(codes())
            })
            input.on('keyup', function() {
                if(input.val() === tickets.text()) {
                    check.html('<div id="no-error">Correct !</div>')
                    setTimeout(function() {
                        check.html('');
                        saved.appendTo(check);
                    }, 2000)
                } else {
                    check.html('<div id="has-error">Try Again !</div>')
                    setTimeout(function() {
                        $('#has-error').remove()
                    }, 1000)
                }
            })
        } else {
            return false;
        }
    })
}
protected_content()
//]]>
</script>
</b:if>

Dan silahkan simpan template sobat.

untuk penggunaan atau penerapan pada postingan.Kita hanya perlu satu elemen tambahan yang menjadi elemen untuk menyembunyikan konten.

sobat tinggal tulis kode atau menyimpan nya di notepad untuk di pakai nanti lihat susunan kode seperti di bawah ini.


<div class="passprotective">
   <div class='hide-by-pass' pass-protected="true">
       <div class='content-pass-protected'>
<!-- 
       <div class="btn-center">
          <a href="javascript:void(0)" class="btn btn-down">Download</a>
        </div>
-->
        </div>
    </div>
</div>


bagian yang di tandai dengan <!--...--> adalah bagian konten yang akan di sembunyikan atau di kunci , pada dasar nya di sini menggunakan tombol unduh sebagai fungsi utamanya, namun sobat dapat menggantinya dengan berbagai macam konten atau elemen html seperti img, p, b, div, dan lain-lain.

dan perlu di ingat hanya satu kali penempatan pada satu postingan saja , tidak dapat di gunakan dengan lebih dari dua.

Contoh :
<!-- badan postingan -->

<div class="passprotective">
   <div class='hide-by-pass' pass-protected="true">
       <div class='content-pass-protected'>
<!-- konten -->
        </div>
    </div>
</div>

<!-- badan postingan -->

<div class="passprotective">
   <div class='hide-by-pass' pass-protected="true">
       <div class='content-pass-protected'>
<!-- konten -->
        </div>
    </div>
</div>

<!-- badan postingan -->

maka penerapan seperti di atas adalah salah !

jika :

<div class="passprotective">
   <div class='hide-by-pass' pass-protected="true">
       <div class='content-pass-protected'>
<!-- konten -->
<!-- konten -->
<!-- konten -->
<!-- konten -->
<!-- konten -->
<!-- konten -->
        </div>
    </div>
</div>

maka penerapan diatas adalah benar tentu akan berjalan dengan baik.

Oh iya pada bagian atribut pass-protected="true" dengan value true adalah kode return agar dapat mengidentifikasikan bahwa konten butuh di sembunyikan apabila tidak masukan value false agar tidak di sembunyikan atau simple nya jangan sertakan kode html tersebut pada postingan.

Informasi :
pass-protected="true" = return true // konten akan di sembunyikan.
pass-protected="false" = return false // tidak akan di sembunyikan.

Nah demikian cara membuat pengunci konten (Content Locker). Silahkan ajukan sugesti untuk menambahkan variable atau fungsi tambahan dengan ide anda sendiri pada komentar. Nanti akan saya realisasikan permintaan sobat jika ada yang kurang dan memang butuh improvisasi.


Mudah-mudahan jadi terinsiprasi dengan apa yang saya buat hari ini.
Versi Terbaru silahkan check it out
Continue Reading