Misteri Lagu Berlayar Denganku, Pemeran Utama, dan Film Favorit

Ketika mendengar kata berlayar di reff lagu Pemeran Utama-nya Raisa, entah kenapa aku langsung teringat pada lagu Berlayar Denganku milik Sheila on 7. Berikut reff lagu Pemeran Utama:

Pemeran utama hati, pemicu detak jantung ini.

Baru kini ku sadari, setelah berlayar pergi.

Itu kamu…..

Nah, gantian ketika aku mendengar frase Pemeran Utama di reff lagu terbaru Sheila on 7 yang berjudul Film Favorit, aku langsung teringat sama lagu Pemeran Utama-nya Raisa. Berikut lirik reff lagu Film Favorit:

Sama seperti di film favoritku

Semua cara akan kucoba

Walau peran yang aku mainkan

Bukan pemeran utamanya

Aku jadi bertanya-tanya, ada apakah antara Raisa dan Sheila on 7? Kok sepertinya mereka saling berbalas lagu, hahaha. twisted

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

Kemeja Kotak-Kotak

Motif Kemeja Kotak-Kotak dulu merupakan salah satu motif favoritku. Kenapa? Karena motif kain sarung simple ini bila menggunakan paduan warna yang pas, bisa menjadi motif yang keren. Perpaduan pola penataan kotak-kotak secara vertical, horizontal, tegak lurus, atau miring juga bisa memberikan nilai seni tersendiri (masa sih?). Motif kotak-kotak yang simple juga bisa menggambarkan kesederhanaan dari pemakainya (oh ya?).

Kemeja Kotak-Kotak

Namun, gara-gara motif ini sekarang sudah sangat identik dengan salah satu golongan massa di negeri ini (yang menurutku tidak layak dicontoh), maka dengan sangat terpaksa aku harus membenci rela meninggalkan motif ini. Entah kenapa mata ini sangat risih bila melihat seseorang memakai motif kotak-kotak. Apalagi motif kotak-kotak yang sama persis dengan yang digunakan oleh golongan massa itu. Sungguh sangat disayangkan, mengapa tragedi ini harus terjadi? Hiks… Oh Tuhan, damaikanlah hatiku, lapangkanlah dadaku, normalkanlah mataku ini lagi ketika melihat kemeja motif kotak-kotak. (ah sudah ah, ketikannya mulai lebay :D)

Bagaimana kalau menurut teman-teman? Masih bersediakah memakai kemeja kotak-kotak? wink

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

Gambar diambil dari: Rider Merch

Cara Truncate Tabel MySQL yang Punya Foreign Key

Ketika deploy database dari development ke production, umumnya kita akan mengosongkan data terlebih dahulu. Gak bagus dong, kalau data yang kita input waktu debug aplikasi nantinya tercampur dengan data real setelah aplikasi digunakan. Aku termasuk golongan yang suka menghapus data sekaligus mereset auto-increment tabel. Jadi, waktu digunakan nanti, data pertama akan mempunyai autonumber dari angka 1. Biar rapi gitu… cool

Cara paling mudah untuk menghapus data dan mereset auto-increment adalah dengan fungsi TRUNCATE. Namun, ternyata ada aturan standard di mysql, tabel yang punya foreign key tidak bisa di-truncate, dengan tujuan untuk menjaga kevalidan data. Untungnya aturan itu masih bisa dinonaktifkan dengan perintah SET FOREIGN_KEY_CHECKS = 0 (jangan lupa untuk diaktifkan kembali ya). Berikut contoh query mysql untuk me-truncate tabel master_barang yang mempunyai foreign key:

SET FOREIGN_KEY_CHECKS = 0;
TRUNCATE master_barang;
SET FOREIGN_KEY_CHECKS = 1;

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

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!!