Teka-Teki Angular 2

Setahun ke belakang aku terus belajar tentang angular 2 dan ionic 2. Sudah banyak project sample yang kudownload, kulakukan npm install, trus npm start/ionic serve, kucoba mengikuti step-by-step tutorial, akhirnya mentok juga, selalu saja ada error-error yang gak jelas, dan sudah berusaha diutak-atik tetap error. Ini baru step instalasi dan konfigurasi awal lho, belum sampai tahap koding membuat aplikasinya. Rasanya pengen gebuk siluman macan putih pakai tongkatnya Sun Go Kong. twisted

Angular-CLI

Untungnya kemarin waktu nyoba belajar lagi, nemu tool yang namanya Angular-CLI, kasarannya semacam command-comand yang bisa diketik di cmd untuk membantu me-generate project Angular 2. Buat Project baru cukup ng new <namaproject>, menjalankan server local cukup ng serve, build aplikasi cukup ng build –prod.

Yah sejauh ini cukup membantulah, semua berjalan lancar, tak perlu konfigurasi yang ribet, pokoknya kerangka dasarnya sudah jadi, bisa langsung koding membuat sistem. Owh ya, Angular-CLI terbaru sudah memakai webpack, dan kabar gembiranya, semua sudah jalan out of the box, gak usah pusing mikir konfigurasi/integrasi. Amazing. heart

File Project Angular 2

Satu lagi yang menjadi teka-teki bagiku ketika belajar AngularJS: filenya banyak banget ya? Ketika kita meng-init project AngularJS, kita menjalankan command npm install, ini bertujuan untuk menambahkan modul-modul yang diperlukan untuk menjalankan aplikasi berbasis AngularJS. Nah, ketika membuka folder node_modules, aku tercengang, lha kok buanyak (sizenya juga guedhe) buanget gini ya? Laravel aja kalah nih. lol

Angular 2 - Node Modules Folder

Kemudian timbul pertanyaan lagi, ini kan pas develop selalu pakai server lokal yang dijalankan melalui command ng serve, lha kalau diupload ke web hosting bisa gak ya? Trus, ini pakai node_modules, perintah-perintah npm yang identik dengan node.js, berarti kalau mau dipublish ke internet harus install node server? Berarti harus pakai VPS, gak bisa pakai shared hosting? Tuing-tuing… question

ng build –prod

Untung saja semua pertanyaan itu terjawab ketika menjalankan perintah ng build –prod yang me-compile/bundle file project Angular 2 menjadi file-file javascript dan disimpan di folder dist. File-file inilah yang perlu kita upload ke web hosting. Tak perlu pusing dengan guedhenya folder node_modules, tak perlu bingung dengan perintah npm, tak perlu risau dengan node.js lagi. cool

Angular 2 - Distribution Folder

Di folder dist ada file berekstensi .map (mapping) dan .gz (kompres), dua tipe file ini tidak wajib diupload.

Sekian sekelumit teka-teki tentang Angular 2, semoga juga bisa menjawab pertanyaan teman-teman ketika memulai belajar framework Angular 2. Sampai jumpai di artikel berikutnya.

Tetap Sehat, Tetap Semangat, agar dapat Tetap dalam Perdjoeangan!!

Cara Disable Automatic Update Driver di Windows 10

Windows 10 didesain untuk menerima update terbaru secara otomatis. Hal ini bertujuan agar komputer bersistem operasi Windows 10 selalu menerima patch keamanan dan fitur-fitur terbaru. Mau tak mau, kita harus menginstall update windows ini, kita tidak bisa lagi mendisable windows update seperti di Windows 7 atau Windows 8/8.1.

Sebenarnya idenya bagus sih, tetapi bagi yang memakai komputer/laptop yang sudah cukup berumur, malah bisa menjadi drama romantika tersendiri. Contohnya laptopku yang sudah berumur 3 tahunan. Windows mendeteksi ada update driver untuk vga addon ATI Radeon HD 8750M. Tanpa diminta, windows medownload driver terbaru dan menginstallnya. Dan hasilnya adalah… tiba-tiba layar laptopku ngeblink beberapa kali dan jadi terang benderang, tak bisa diredupkan. Waktu kejadian, sempat bingung juga, ada apa dengan cinta? Apakah dia mulai lelah? Apakah sudah saatnya diinstal ulang? lol

Selidik punya selidik, ternyata driver ati yang baru tidak compatible dengan vga ATI HD 7640G yang ada di processor AMD laptopku. Dengan menyebut nama Allah, kucoba uninstall driver vga terbaru, dan install driver lama (versi 2015 akhir), dan alhamdulillah semuanya kembali normal. Terima kasih cinta. heart

Disable Update Driver dengan Windows Show or Hide Updates Tool

Nah, untuk teman-teman yang pernah mengalami kejadian serupa, kini dapat berbahagia, karena microsoft telah menyediakan tool untuk medisable windows update, terutama driver hardware yang sudah tua. Silakan download Windows Show or Hide Updates Tool di sini. Berikut cara menggunakan tool tersebut:

Windows 10 Show or Hide Updates Tool

Pilih Hide updates

Windows 10 Show or Hide Updates Tool - Hide or Show Update Option

Karena aku sudah pernah meng-hide update driver vgaku, maka tidak tampil di daftar update yang tersedia untuk dihide/didisable. Untuk medisable, tinggal centang update yang akan dinonaktifkan.

Windows 10 Show or Hide Updates Tool - Hide Update

Untuk mengunhide/mengaktifkan update yang pernah didisable, caranya juga sama tinggal centang update yang akan diaktifkan kembali.

Windows 10 Show or Hide Updates Tool - Hidden Update

Semoga bermanfaat. Tetap Sehat, Tetap Semangat, agar dapat Tetap dalam Perdjoeangan!!

Dot Rush – GPA sampai 100.000 XP?

Halo Pemburu Achievement, sudah mendapatkan achievement dari game Dot Rush belum? Kalau belum, buruan download dan mainkan game Dot Rush sekarang juga. Jangan lewatkan kesempatan untuk mendapatkan 100.000 XP hanya dalam 2-3 jam permainan. Enak kan? Developernya emang kurang ajar, point achievementnya guedhe-guedhe, trus gampang banget mendapatkannya. cool

Gameplay-nya sangat simple, cukup mencocokkan warna dot yang terjun ke bawah, dengan menekan atau melepas layar. Lebih jelasnya silakan lihat langsung deh.

Berikut daftar achievement game Dot Rush:

No Nama Achievement Jumlah XP No Nama Achievement Jumlah XP
1 5 Points 500 XP 11 10 Games Played 1.000 XP
2 10 Points 1.000 XP 12 25 Games Played 2.500 XP
3 15 Points 1.500 XP 13 50 Games Played 5.000 XP
4 20 Points 2.000 XP 14 75 Games Played 6.000 XP
5 25 Points 2.500 XP 15 100 Games Played 9.000 XP
6 30 Points 3.000 XP 16 150 Games Played 10.000 XP
7 50 Points 5.000 XP 17 200 Games Played 12.000 XP
8 75 Points 6.000 XP 18 300 Games Played 13.000 XP
9 100 Points 8.000 XP Total 100.000 XP
10 150 Points 12.000 XP

Tips:

  • Untuk memperoleh achievement 300 Games Played, kusarankan untuk mematikan koneksi internet agar tidak muncul popup iklan. Developernya emang kurang ajar, tiap 2-5 game muncul iklan. rolleyes
  • Pakai device yang lumayan gahar. Aku pakai Infinix Hot 2, dan aku merasa ada lag, sehingga sering kalah gara-gara timingnya jadi gak pas. Gak tahu juga sih. Hehe.

Sampai jumpa di game berikutnya.

Tetap Sehat, Tetap Semangat, agar dapat Tetap dalam Perdjoeangan!!

Cara Membedakan Kata Ganti Kami dan Kita

Kata ganti Kami dan Kita sama-sama digunakan untuk menerangkan orang pertama jamak. Apa yang membedakannya? Kapan harus pakai kata ganti kami, dan kapan pakai kata ganti kita? Baiklah, izinkan aku berbagi ilmu yang pernah kutimba di bangku sekolah dulu.

Kami digunakan apabila orang yang diajak bicara tidak terlibat di dalam aktifitas. Misalnya dalam kalimat “Kami akan pergi ke Yogyakarta”, maka orang-orang yang diajak bicara tidak ikut pergi ke Yogyakarta. Nah, pasti sudah tahu apa kegunaan kata ganti “kita” kan? Yup tepat sekali.

Kita digunakan apabila orang yang diajak bicara juga terlibat di dalam aktifitas. Misalnya dalam kalimat “Kita tidak boleh begadang, kata pak haji begadang itu tidak baik”, maka yang dimaksud agar jangan begadang adalah si pembicara dan orang-orang yang sedang diajak bicara.

Gimana teman-teman, sudah paham kan? Kalau sudah, kita tidak boleh salah lagi ya, gak boleh kebolak-balik lagi lho. lol

Semoga Bermanfaat. Tetap Sehat, Tetap Semangat, agar dapat Tetap dalam Perdjoeangan!!

Cara Ambil Error Message (Termasuk InnerException) C#

Program yang baik adalah program yang dapat menghandle error-error yang terjadi saat runtime. Hingga saat ini, aku masih belum bisa membuat program yang secanggih itu. Error handling yang aku lakukan hanya sebatas melemparkan pesan error ke sebuah message box. Kalau aplikasi ASP.Net, ya dilemparkan ke TempData, yang kemudian ditampilkan melalui box Alert. twisted

Masalahnya adalah terkadang detail pesan error yang bermanfaat itu tersedia pada error yang lebih dalam, atau istilah pemrogramannya InnerException, seperti pada gambar berikut:

ReportViewer error SetParameter ketika menggunakan Dynamic Report

Bila kita langsung mengambil pesan error dari Exception terluar, maka biasanya hanya akan tersedia pesan error seperti: “An error occured while updating the entries. See the inner exception for details.”, sebuah pesan error yang gak jelas, gak berguna, gak ada manfaatnya, hasyah. tongue

Nah, untuk masalah ini, aku menggunakan kode snippet ini:

public static class ExtensionMethod
{
    public static string GetMessage(this Exception ex)
    {
        while (ex.InnerException != null)
        {
            ex = ex.InnerException;
        }
        return ex.Message;
    }
}

Berikut contoh penggunaannya pada ASP.Net MVC:

try
{
    // proses data
}
catch (Exception ex)
{
    // error? tampung data di TempData dan redirect ke halaman index
    // error akan ditampilkan di alert box pada view
    TempData.Add(Alerts.DANGER, ex.GetMessage());
    return RedirectToAction("Index");
}

Semoga Bermanfaat. Tetap Sehat, Tetap Semangat, agar dapat Tetap dalam Perdjoeangan!!

Cara Hosting Gambar Blog di GitHub.com

Era harga hosting web mahal di Indonesia sebenarnya sudah berakhir. Sekarang, sudah banyak provider hosting yang menawarkan kuota unlimited dengan harga mulai dari 50rb/bulan. Dengan disk space unlimited tersebut, kita bisa mengupload gambar sebanyak-banyaknya di hosting kita, tanpa kuatir kehabisan kuota. Meski begitu, entah kenapa aku masih suka menaruh file gambar untuk blog ini di luar hosting. Emang dasar orang yang gak bisa mengikuti perkembangan zaman. Hehehe.

Aku sudah pernah mencoba hosting gambar di OneDrive, Facebook, Dropbox, Google Drive. Dan kesimpulanku, semuanya tidak cocok untuk hosting file gambar. Karena url gambarnya selalu gonta-ganti. Tidak tersedia url fix atau raw url. Sehingga, bisa jadi kita upload gambar hari ini, trus kita pakai url gambar di artikel, dan setelah beberapa bulan, file gambar itu hilang, karena urlnya telah berganti. Terpaksa harus edit artikel blog untuk mengupdate url gambar.

Nah untungnya aku ada ide memanfaatkan repo GitHub untuk hosting gambar, karena repo di GitHub.com menyediakan raw url yang fix gak berubah-ubah. Sangat cocok untuk masalah yang terjadi. Berikut langkah-langkah untuk me-hosting-kan file gambar blog di GitHub.com:

1. Join Github.com dan Install GitHub Desktop

Langkah pertama tentu saja sign up ke GitHub. Kemudian download & install GitHub Desktop.

2. Buat Repository Hosting-Blog

Buat repository baru, misal hosting-blog di https://github.com/new.

GitHub - New Repo

3. Clone Repository Hosting-Blog

Pada halaman home repo hosting-blog, klik tombol warna hijau Clone or download, trus pilih Open in Desktop.

GitHub - Clone

4. Tambah File Gambar & Push (Upload) ke GitHub.com

Pada GitHub Desktop, klik kanan nama repo dan pilih Open in Explorer.

GitHub - Open in Explorer

Tambahkan file gambar di folder repo local kita. Sedikit saran, untuk jangka panjang, agar memudahkan dalam pengelolaan file, lebih baik dibuat folder tahun dan subfolder bulan, seperti yang dilakukan wordpress.

GitHub - Add Image

Balik ke GitHub Desktop, klik tab Changes, maka akan terdaftar file gambar yang telah kita tambahkan melalui file explorer pada langkah sebelumnya. Tulis pesan mengenai file gambar tersebut, misal diberi pesan judul artikel, dan tekan tombol Commit to master.

GitHub - Commit to Master

Langkah terakhir adalah tekan tombol Sync untuk mepush commit atau mengupload file gambar ke server GitHub.

GitHub Sync

5. Copy Raw Url Gambar & Gunakan di Post Blog

Buka Repo online hosting-blog, dengan cara klik kanan nama repo, pilih View on Github.

GitHub - View on GitHub

Cari file gambar yang barusan kita push. Klik untuk menuju halaman detail, klik tombol download, dan copy raw url gambar tersebut.

Github - Raw Url

Gunakan raw url itu di artikel blog. Taraa… Mudah kan?

Computer Hang waktu kejar deadline

Semoga bermanfaat.

Tetap Sehat, Tetap Semangat, agar dapat Tetap dalam Perdjoeangan!!

Google Adsense Biang Galau

Pak Romi Satria Wahono pernah bilang: blog itu bisa dijadikan alat untuk personal branding di dunia maya. Oleh sebab itu, sebaiknya blog itu tidak ditempeli dengan iklan. Karena dikhawatirkan iklan yang ditayangkan tidak sesuai dengan isi blog, atau bisa juga mengurangi independensi artikel yang kita tulis. Bayangkan… apabila ada artikel berjudul “Berkenalan dengan bahasa C#” yang membahas tentang dasar pemrograman, yang tampil malah iklan obat kuat. Artikel mengenai cara penggunaan LINQ di .Net, eh yang tampil malah iklan eMeLeM. Bahaya kan? mrgreen

Google Adsense

Fenomena Youtuber, Main Game Dapat Uang

Mencari uang dengan bermain game? Hmm… what a dream job!! Wuenak tenan ya, ibaratnya kita dibayar hanya untuk bermain game. Ikutan ah…  twisted

Ada 2 sumber uang, pertama dari iklan adsense, kedua donasi dari subscriber. Karena masih pemula, yang masuk akal untuk saat ini adalah uang dari iklan adsense. Dulu sudah pernah punya akun google adsense, gara-gara wejangan pak Romi, akhirnya akunnya gak dipakai dan akhirnya dinonaktifkan ama google. Hiks cry

Wokeylah mari berjuang mendapatkan akun baru. Coba daftar, eh ternyata ditolak karena menggunakan subdomain (root domain diredirect ke subdomain). Wokeylah mari berjuang memindahkan postingan blog ke root domain. Memang selama ini galau juga, kalau blog aku taruh di subdomain http://blog.rudyhartadi.web.id, lalu root domainnya mau diisi apa? Huehuehue

Jadi Gimana?

Yah, langkah saat ini adalah memindahkan blog dari subdomain http://blog.rudyhartadi.web.id ke root domain http://rudyhartadi.web.id. Lanjut menulis artikel di blog, sesuai resolusi tahun 2017. Kemudian mencoba daftar akun google adsense lagi. Dan semoga diapprove. Amin. cool

Trus tiba-tiba terlintas pertanyaan: kalau udah dapat akun adsense, nanti bikin content game apa? Gameplay atau streaming? Kalau gameplay, cara merekamnya gimana? Kalau streaming, pakai koneksi apa? Ngedit videonya gimana? Pakai ngomong atau tulisan? Ya udahlah, dipikir nanti aja. tongue

Tetap Sehat, Tetap Semangat, agar dapat Tetap dalam Perdjoeangan!!