Rabu, 18 September 2013

Kesaktian Mahasiswa

Seorang mahasiswa harus memiliki jurus-jurus sakti dalam studinya. Di bawah ini adalah beberapa jurus yang perlu dipelajari mahasiswa.

Ctrl+C
Jurus ini dipakai untuk menyerap jurus lawan, tanpa menghilangkan ilmu-ilmu yang dimiliki lawan.

Ctrl+X
Jurus ini dipakai untuk menyerap jurus lawan, sekaligus menghilangkan ilmu-ilmu yang dimiliki lawan.

Ctrl+V
Jurus ini dipakai untuk mengeluarkan jurus-jurus lawan yang telah diserap tadi.

Ctrl+Shift+V
Jurus ini dipakai untuk mengeluarkan hanya inti dari jurus-jurus lawan yang telah diserap tadi.

Pada kenyataannya, ada beberapa urutan yang harmonis dalam mengeluarkan jurus-jurus tadi. Kalau tidak urut, nah, berarti perlu ada harmonisisasi dulu, dari konspirasi kemakmuran.

Sebelum mengeluarkan jurus Ctrl+V dan Ctrl+Shift+V, harus ada jurus Ctrl+C atau Ctrl+X terlebih dahulu. Jurus paling dasar adalah Ctrl+C kemudian Ctrl+V. Jurus ini sangat sakti dan ampuh ketika digunakan oleh para mahasiswa.

Terdapat pula jurus-jurus tambahan untuk menangkis jurus sebelumnya. Di bawah ini adalah contohnya.

Ctrl+Z
Jurus ini dipakai untuk membatalkan jurus sebelumnya.
Jurus ini cocok digunakan jika terjadi kesalahan dalam Ctrl+X atau Ctrl+V atau Ctrl+Shift+V.

Ctrl+Y
Jurus ini dipakai untuk mengulang jurus yang telah dibatalkan.
Jurus ini cocok digunakan jika jurus Ctrl+Z dipakai secara berlebihan.

Ctrl+A
Jurus ini dipakai untuk menandai semua jurus lawan, secara sapu jagad.
Jika jurus ini digunakan sebelum jurus Ctrl+C atau Ctrl+X, seluruh ilmu lawan akan diserap.

***

Contoh mahasiswa doktoral yang sukses menerapkan jurus-jurus sakti di atas adalah Susilo Bambang Yudhoyono. Kitab Saktinya adalah bentuk gabungan semua jurus-jurus tadi.



***

Ctrl+C = Copy, salin
Ctrl+X = Cut, potong/gunting
Ctrl+V = Paste, pasang
Ctrl+Shift+V = Paste text only, pasang teks doang
Ctrl+Z = Undo, batal
Ctrl+Y = Redo, ulang
Ctrl+A = All, semua

Sebetulnya masih banyak jurus-jurus lain yang perlu dipelajari. Namun hanya dengan menguasai sedikit jurus di atas, mahasiswa dapat memiliki kesaktian yang cukup hingga lulus kuliah.


Bremen, 18 September 2013

iscab.saptocondro

Our Higgs Boson

Our Higgs-Boson

Our Higgs-Boson,
who art in the Higgs Field,
hallowed be thy vibration.
Thy space-time come.
Thy matter be done,
on Earth and the entire known Universe.
Give us this trillionth of a second our instant Planck mass,
and forgive us our ignorances,
as we forgive those who don't fucking love science.
And lead us not into The Great Rip,
but deliver us from Dark Energy.
ATOM.

The prayer of Everett Aponte.

diambil dari I fucking love science.
Ketika mereka membenci sains.


When they hate science.
http://www.youtube.com/watch?v=h1kg08E6VD0


Related post:


Bremen, 18 September 2013

iscab.saptocondro

Selasa, 25 Juni 2013

MATLAB, Model-driven dan pembangkitan kode

Ada pekerjaan menarik di Jerman yang terkait dengan dunia otomotif dan kemampuan pemrograman. Pekerjaan ini biasanya bernama
  • Systemingenieur (system engineer)
  • Softwareentwickler (software developer)
  • Funktionentwickler (function developer)
  • Embedded softwareentwickler (embedded software developer)
  • Versuchingenieur/Testingenieur (test engineer)
Pekerjaan ini biasanya berhubungan dengan pemrograman pada ECU (electronic controller unit/ Steuergerät) kendaraan bermotor. Pada ECU, biasanya terdapat mikrokontroller keluarga Freescale (dulu bernama Motorola) dan tentu saja chip untuk RAM dan ROM eksternal serta chip antarmuka.


ECU/Steuergerät, dari Carperformance shop


Pekerjaan mendesain ECU biasanya disebut Hardwareentwickler (Hardware developer). Perusahaan terkenal di bidang ini adalah Continental dan Bosch di Jerman serta Magneti Marelli di Italia. Berhubung aku tidak berpengalaman mengutak-atik ECU dari perusahaan lain, maka kusebut cuma tiga perusahaan tadi.

***

Aku ingin membicarakan penggunaan MATLAB dalam merancang perangkat lunak (software developing). Zaman sekarang ada istilah "model-driven"(wiki:en,de,en). Mereka yang merancang software dengan filosofi V-model (wiki:en,de,en) akan memulai mendesain dari sistem yang besar, lalu subsistem yang lebih kecil, hingga komponen dari sistem tadi lebih detail. Seorang system engineer akan mendesain keseluruhan sistem. Seorang software developer akan mendesain software yang menyusun sistem tadi. Seorang function developer akan mendesain fungsi-fungsi yang berguna dalam software yang menyusun sistem. Setelah itu, verifikasinya akan dilakukan dari hal yang detail ke hal yang besar.


V-Model, dari testingexcellence


Dari pengalamanku bergabung dalam suatu tim yang mengurus VVT (variable valve timing, wiki:en,de) pada silinder mobil, system engineer mendesain keseluruhan sistem VVT ini. Sistem ini dimodelkan dengan MATLAB Simulink. Pada Simulink, terdapat diagram blok. Ketika blok tersebut diklik, di dalamnya terdapat diagram blok yang lebih detail, biasa disebut sebagai modul. Semakin diklik, semakin terlihat komponen yang semakin kecil. Inilah pekerjaan software dan function developer.

Model MATLAB tersebut kemudian diubah menjadi bahasa lain yang lebih dekat ke mesin, misalnya C, hingga akhirnya menjadi hex dan binary yang siap di-flash ke mikrokontroler ECU. Proses ini dinamakan pembangkitan kode (code generation). Untuk membuat model MATLAB, yang biasa digunakan adalah Simulink dan Stateflow. Lalu untuk pembangkitan kode, kami menggunakan Targetlink dari dSPACE. Sebetulnya MATLAB memiliki Embedded Coder untuk membangkitkan kode. Akan tetapi tim kami sudah menggunakan Targetlink, yang memiliki kemampuan gabungan Simulink, Stateflow dan pembangkitan kode sekaligus.

Berhubung sistem yang didesain bersifat embedded, ada kode teks berupa M script, C header dan C source code yang memiliki nama variable yang tidak boleh bertentangan dengan model Simulink. C header dan C source code berisi nama variabel dan alamat memori sesuai permintaan customer. Setelah semua sesuai, klik next-next-next, maka terbangkitlah kode C, lalu akhirnya kompilasi akan menghasilkan file binary dan hex.

Pada saat mengetes model, para software dan function developer menggunakan Model-in-the-Loop (MiL). Input dan output dites agar sesuai keinginan. Pada saat kode C telah dibangkitkan, mereka mengetes dengan Software-in-the-Loop (SiL). MiL dan SiL biasanya hanya program untuk mengambil data dan menampilkan grafik, tabel dan angka.

Setelah kode hex dan binary telah terkompilasi, mikrokontroler pada  ECU harus di-flash. ECU dicolok ke suatu alat Flash yang tersambung ke komputer dengan USB. Pengalamanku, perangkat yang digunakan adalah ETAS INCA, yang terdiri dari hardware dan software. Dengan INCA, ECU bisa diisi binary dan komputer bisa menampilkan nama variabel yang ada pada hex di INCA. Setelah ECU telah terisi software, tes yang dilakukan adalah Hardware-in-the-Loop (HiL). Sebagai perangkat keras, ECU dites dengan HiL.

Jika lulus HiL test, ECU dites dengan katup (valve) sesungguhnya. Kalau lulus tes ini, ECU dites dengan ditaruh di mesin mobil. Kalau lulus tes ini, ECU ditaruh di kendaraan bermotor (mobil), dan dimulailah test-drive. Kira-kira begitulah yang terjadi pada model-driven engineering pada dunia automotive. Terdapat banyak perusahaan besar dan kecil yang mendesain software seperti ini, termasuk perusahaan yang mendesain hardware ECU tadi.

***

Di zaman sekarang, dalam membuat suatu mobil, banyak perusahaan terlibat. Ada perusahaan yang mendesain bentuk mobil lalu perusahaan lain menguji aerodinamika serta menghitung struktur dengan finite element method (FEM). Bagaimana kadar bensin dan udara masuk silinder sekarang tergantung software. Juga bagaimana sirkulasi udara, temperatur, musik, dll dalam mobil juga tergantung software. Masing-masing software bisa disubkontrakkan ke perusahaan yang berbeda-beda. Untuk menguji software juga bisa diserahkan ke perusahaan lain.

Akibat banyak perusahaan yang terlibat, alamat memori pada ECU harus dialokasikan dengan baik untuk masing-masing perusahaan. Nama dan alamat variabel dibuka seperlunya. Relasi antar variabel tidak diketahui semua. Bagaimana keseluruhan sistem bekerja adalah resep rahasia dari merk seperti BMW, Toyota, Fiat, Chrysler, VW, dll. Perusahaan yang mendesain software hanya tahu beberapa bagian. Dari pengalamanku, tim kami hanya memanfaatkan 3000 variabel dari 17000.

Dengan keterlibatan banyak perusahaan, termasuk pekerjanya, baik yang engineer maupun yang tukang pada rantai manufaktur, nilai ekonomi industri otomotif di Jerman cukup besar. Industri ini memiliki jejaring juga dengan industri karet (ban), sekrup, baja, dll, termasuk jasa outsourcing tenaga kerja dan tenaga ahli. Ketika terjadi krisis ekonomi USA dan Eropa, Jerman mengalami gangguan permintaan (demand) kendaraan bermotor. Akibatnya banyak perusahaan yang terlibat dalam dunia otomotif melakukan penghematan. Efeknya adalah pengurangan tenaga kerja. Pegawai outsourcing tidak diperpanjang kontraknya. Pemecatan dipermudah dan penerimaan pegawai diperketat. (Untuk Indonesia, jika satu industri goyah, industri dan jasa lainnya juga bisa terkena dampaknya.)

Kini aku mencari pekerjaan Softwareentwickler atau Versuchingenieur yang berhubungan dengan model-driven engineering. Tidak harus otomotif, bisa juga urusan aerospace maupun naval. Untuk sementara, aku membatasi pencarian kerja di daerah yang dekat Bremen karena aku sudah lelah pindahan terlalu jauh. Niedersachsen adalah tempat VW dan perusahaan-perusahaan subkontraknya. Hamburg dan Bremen terkenal dengan aerospace dan naval, baik sipil maupun militer. Sayang sekali, aku belum punya Polizeiführung (surat kelakuan baik) dan VS-Berechtigung (security level) untuk pekerjaan litbang militer.


Bremen, 24 Juni 2013

Selasa, 23 April 2013

Menampilkan slide presentasi: Adobe, Foxit dan PowerPoint

Catatan gaptekku hari ini adalah tentang slide presentasi. Bagaimana menampilkan layar penuh (Full Screen) kalau punya slide berbentuk PDF dan juga PPT (serta PPTX).

  • File PPT (dan PPTX) ditampilkan layar penuh oleh Microsoft Power Point dengan F5 (kalau dari awal) atau Shift+F5 (kalau dari slide yang sedang dikerjakan).
  • File PDF ditampilkan layar penuh oleh Adobe Reader dengan Ctrl+L
  • File PDF ditampilkan sama oleh Foxit Reader dengan F11

Setelah menulis ini, kuharap tidak lupa lagi. Semoga ketiganya tidak tertukar-tukar. Oh, ya, tulisan ini penting jika aku ingin presentasi menggunakan Microsoft Windows.

Gaptek pasti berlalu.
Percayalah bahwa hari kemenangan akan segera tiba.


Bremen, 22 April 2013

iscab.saptocondro

Senin, 18 Maret 2013

Posterous Effect

Sejak Desember 2011, aku memakai Posterous untuk membuat posting otomatis di blogspot dan wordpress. Hasilnya lumayan optimal sesuai kehendakku. Namun sayangnya Posterous dibunuh burung di akhir April tahun ini. Semenjak itulah, aku mulai menggunakan IFTTT, termasuk posting saat ini.

Seperti apa dampak penggunaan Posterous terhadap blogku, bisa dilihat dari dua grafik di bawah ini.

Pada blog iscab di wordpress:
iscab.wordpress.com
iscab.wordpress.com sejak Desember 2011


saptocondro.wordpress.com
saptocondro.wordpress.com sejak Desember 2011


Terlihat dari kedua blog tersebut, bahwa sejak Desember 2011, terjadi peningkatan traffic. Berarti penggunaan auto-posting dari Posterous betul-betul membantu peningkatan kunjungan ke blogku. Dampak inilah yang disebut Posterous Effect.

Namun aku juga melakukan beberapa penyesuaian dengan jejaring tautan dan RSS antara blog-blog yang kumiliki. Jadinya selain penggunaan Posterous, aku juga melakukan beberapa optimisasi tautan. Aku pun tak tahu pasti apakah Posterous adalah penyebab utama peningkatan traffic seperti pada kedua gambar,

Kini caraku menulis blog berubah seiring kematian Posterous. Namun aku tetap menggunakan suatu skema auto-posting lain, yaitu dari IFTTT. Jadi sekali menulis 1 post di Blogspot, aku juga akan melakukan posting otomatis pada Wordpress (dan Tumblr). 

Mungkin di lain waktu, aku tidak gaptek lagi, sehingga tidak perlu lagi menggunakan layanan autoposting. Akan tetapi aku membuat script sendiri, serta website sendiri.


Bremen, 18 Maret 2013