All posts by Duken Marga Turnip

About Duken Marga Turnip

Engineer PT Rekayasa Industri dan alumni Teknik Sipil ITB, yang senang dengan programming, internet, application development, sains, teknologi, dan matematika.

Tambahan Tekanan Lateral Tanah Aktual

Kalo kamu adalah mahasiswa atau engineer sipil, tentu di mata kuliah geoteknik kamu pernah dengar dengan penambahan beban lateral akibat adanya tambahan beban vertikal pada tanah. Contoh paling umum adalah kasus dinding penahan tanah. Selain didesain untuk menahan tekanan lateral akibat tanah, dinding juga harus didesain untuk menahan beban tambahan akibat jalan, kendaraan, orang, atau perumahan yang berada di atas tanah tersebut.

Persamaan Boussinesq tentang beban tambahan diturunkan dengan menggunakan analisis elastis, material tanah yang homogen, dan dianalisis untuk material di ruang yang tidak berbatas. Namun teori ini tidak menggunakan parameter tanah seperti tahanan geser, modulus elastisitas, atau friksi antara dinding dan tanah. Untuk penyederhanaan, banyak teori mengasumsikan koefisien Poisson’s ratio  untuk tanah diambil sebesar 0,5.

Eksperimen yang dilakukan oleh Spangler (1936) menghasilkan data tambahan lateral 2 kali lebih besar dibandingkan teori Boussinesq. Teng (1962) juga menyatakan bahwa analisis plastis akan menghasilkan tambahan 2 kali lebih besar dibandingkan analisis elastis. Teng menggunakan penyederhanaan rumus Boussinesq oleh Terzaghi yang dituangkan dalam bukunya Foundation Design dan manual software Civiltech.

Di bawah ini adalah persamaan Terzaghi (analisis elastis) untuk tambahan beban lateral akibat beban titik.


Beban titik pada dinding penahan tanah
Beban titik pada dinding penahan tanah

\displaystyle m <= 0.4 ; P_1 = \frac{0.28Q}{H^2}\frac{n^2}{(0.16+n^2)^3}
\displaystyle m > 0.4 ; P_1 = \frac{1.77Q}{H^2}\frac{m^2n^2}{(m^2+n^2)^3}

Lalu kapan persamaan dengan analisis elastis dan plastis digunakan? Banyak engineer menyarankan bahwa persamaan elastis digunakan untuk dinding penahan tanah yang sifatnya lentur (fleksibel). Sedangkan untuk dinding yang kaku (rigid) atau berdeformasi sangat kecil, tambahan beban lateral harus dikali dengan 2. Contoh dinding yang fleksibel adalah dinding yang terbuat dari pelat tipis yang cenderung berdeformasi cukup besar. Contoh dinding yang rigid adalah basement (ruang bawah tanah) suatu gedung.

Penjelasan paling sederhana adalah teori elastis dibuat dengan mengasumsikan bawha material tanah bersifat elastis, yang berarti tanah harus berdeformasi ketika diberi beban. Namun, ketika dinding penahan tanah bersifat sangat kaku, dinding mencegah tanah untuk berdeformasi secara bebas yang akhirnya menghasilkan beban tambahan. Efek ini disebut oleh Mindlin (1936) sebagai efek beban mirror.

Beberapa software mungkin belum mempertimbangkan efek beban mirror ini. Oleh karena itu perlu mengecek apakah software yang kita pakai sudah memperhitungkan pengaruh kekakuan dinding. Jika belum, kamu harus mengalikan persamaan-persamaan Terzaghi atau Boussinesq dengan faktor 2.

Referensi:
http://www.ejge.com/iGEM/Articles/FactorOf2/FactorOf2.htm
http://howtoengineer.com/offset-surcharge-elastic-methods/
Foundation Design, Wayne C. Teng

Mandi Air Hangat

Kalo ditanya aktivitas apa yang bisa membuat saya sangat-sangat-sangat senang, jawabannya: mandi air hangat!

Saya baru menyadari bahwa saya menyukai aktivitas mandi air hangat ini. Terlebih karena saya tidak terlalu suka suhu dingin: tidak doyan dengan makanan/minuman es dan tidak menikmati dinginnya ruangan ber-AC.

Setiap kali saya mandi air hangat, saya merasa sangat senang dan merasa lebih rileks. Tidak ada beban pikiran dan hanya memikirkan bagaimana caranya agar airnya tidak segera habis, namun tetap bisa mandi 🙂 . Rasanya seperti orang yang sedang jatuh cinta. Kalo nanti saya punya rumah, harus punya pemanas air, bila perlu ada kolam mini untuk mandi air panas. Mirip dengan onsen atau pemandian air panas di Jepang.

Dari dulu, saya memang tidak begitu cocok dengan cuaca dan suhu dingin. Makanya ketika saya mengajukan ide ingin melanjutkan kuliah ke luar negeri, orang tua saya sebenarnya agak khawatir dengan kesehatan saya nantinya. Setiap pergantian musim di kota Bandung, semasa kuliah, seringkali membuat saya jatuh sakit, apalagi nanti jika berada di negara 4 musim.

Bagaimana dengan kamu? Suka air dingin atau air hangat?

Install Printer Canon Pixma MP237 openSuse 13.1 64 bit

Hore, untuk pertama kalinya, saya berhasil menginstall driver untuk printer Canon Pixma MP237 pada sistem operasi Linux distro openSuse 13.1 dengan arsitektur 64 bit. Sebenarnya tutorial ini bisa dijadikan untuk semua printer Canon tipe 230-series, karena drivernya memang ditujukan untuk semua seri 230. Pada awalnya saya agak pesimis bahwa printer ini bisa dipasang di linux, tapi dengan mengikuti berbagai tutorial di internet, akhirnya bisa juga. Printer tipe MP237 dilengkapi dengan fungsi mencetak dokumen ke kertas dan memiliki fungsi scanning. Gak tau kenapa, dulu printer ini yang dibeli oleh keluarga di rumah untuk keperluan cetak-mencetak dan scanning dokumen.

Oke, berikut langkah-langkah instalasinya:

  • Download software libtiff-3 (64 bit) jika kamu menggunakan openSuse 13.1 atau 12.x. Lalu instal software ini, bisa menggunakan terminal atau klik 2 kali untuk memulai proses instalasi menggunakan Software Manager Yast. Software ini wajib diinstal agar fungsi mencetak dokumen berfungsi dengan baik.
  • Download driver printer dan driver scanner di website resmi Canon. Driver ini sudah mendukung openSuse 32 bit dan 64 bit. Ekstrak masing-masing arsip dan jalankan install.sh melalui terminal
  • Tunggu proses instalasi berlangsung, jangan lupa menjawab beberapa pertanyaan yang diberikan pada layar terminal
  • Jika sudah selesai, buka Print Setting melalui menu pencarian aplikasi bagian System Tools -> Print Settings (saya tinggal mengetikkan kata ‘Print’ menggunakan desktop Gnome 3)
  • Lalu akan muncul sebuah gambar printer di window yang terbuka. Klik 2 kali printer tersebut lalu coba mencetak dokumen (Print Test Page)
  • Tadaa, printer akan mulai bergerak untuk mencetak dokumen

Semoga tutorial singkat ini berguna buat kamu semua  🙂

Berpindah ke Python untuk Software Numerik

Ketika saya baru pertama kali belajar tentang dunia programming, saya lebih suka membuat aplikasi dengan menggunakan bahasa pemrograman PHP (PHP Hypertext Preprocessor) dengan basis web. Dulu beberapa teman yang minta dibuatkan aplikasi web, baik itu blog, aplikasi database, atau aplikasi perhitungan sederhana, biasanya saya membuatkannya dalam bentuk web dengan menggunakan PHP karena memang fungsinya diperuntukkan untuk aplikasi web.

Akhir-akhir ini, saya sering ingin membuatkan sebuah aplikasi perhitungan yang tidak membutuhkan database. Aplikasi ini khusus untuk ranah teknik sipil (engineering) dan tidak memerlukan koneksi database seperti MySQL atau PostgreSQL. Saya sempat berpindah ke pemrograman desktop selama masih di Laboratorium Rekayasa Struktur. Saat itu saya menggunakan bahasa C# untuk membuat aplikasi  Analisis Kurvatur Momen.

Di awal tahun ini, setelah keluar dari lab, saya membuat sebuah software analisis struktur, openSAP32, yang saya buat dengan menggunakan Python. Karena kesibukan pekerjaan di luar Jakarta dan saat ini saya sedang bertugas ke site di Lhokseumawe, software ini sedikit terlantar. Sedikit informasi mengenai software ini, saya berencana membuat software analisis struktur sederhana yang bisa saya pakai tanpa harus menggunakan software komersial. Tujuannya adalah mempelajari lebih dalam tentang analisis struktur metode matriks dan berharap bisa meningkatkan nalar berpikir, syukur kalau ternyata nanti bisa dikembangkan hingga analisis gempa dan dinamik. Untuk saat ini, software ini baru bisa digunakan untuk analisis rangka batang 2 dimensi, dengan fitur yang masih minim. Kalau ada waktu luang, saya terus berusaha mengembangkan sofware ini.

Ketika banyak tenaga dan pikiran yang harus dibutuhkan untuk membuat openSAP32, saya terpikir untuk membuat software yang lebih sederhana, yang bisa saya selesaikan dalam waktu singkat. Nantinya aplikasi ini saya kumpulkan menjadi sebuah tools yang berguna buat saya sendiri dan juga engineer sipil lainnya tentunya. Untuk kasus ini, saya berpikir bahwa aplikasi desktop bukanlah pilihan yang tepat. Saya melihat aplikasi desktop lebih ditujukan pada sebuah aplikasi yang besar yang fungsinya untuk sebuah tugas khusus, sama seperti openSAP32.

Kumpulan aplikasi ini lebih cocok dibuat di atas platform web yang menangani aplikasi yang lebih kecil. Model MVC (Mode-View-Controller) pun cocok digunakan untuk aplikasi numerik. Yang berbeda adalah, jika umumnya pada aplikasi database, model digunakan sebagai media query data ke database, pada aplikasi numerik, namun model digunakan sebagai tempat mengolah data berupa perhitungan numerik yang diharapkan akan ditampilkan hasilnya.

Sudah hampir sebulan ini saya mencoba mempelajari pemrograman web dengan menggunakan python. Saya lebih memilih menggunakan python karena selain bisa digunakan untuk web, banyak library python yang khusus dibuat untuk proses numerik. Contoh library tersebut adalah Numpy, Scipy, Matplotlib, dan Simpy. Semuanya saya rasa sudah cukup matang sebagai sebuah library.

Ada banyak pilihan framework pada python. Di antara Flask, CherryPy, Bottle, Tornado, Django, dan web2py, saya menjatuhkan pilihan pada CherryPy. Flask bagus, hanya saja dukungan untuk Python 3 masih tanda tanya. Tornado khusus digunakan untuk web server untuk proses asynchronous, sedangkan saya tidak membutuhkannya. Bottle hanya menyediakan web server HTTP yang tidak production-ready. Django terlalu besar untuk aplikasi yang saya buat dan web2py sepertinya terlalu kompleks. CherryPy saya pilih karena tidak dilengkapi oleh 3rd-party yang memang tidak saya butuhkan seperti akses database dan autentikasi. Aplikasi yang ingin saya buat murni interaksi dinamik antara user dan kode yang bermain di level numerik. CherryPy juga sudah dilengkapi built-in http server sehingga tidak membutuhkan banyak dependencies.

Awalnya saya cukup kesulitan mempelajari framework ini. Ditambah lagi saya harus mempelajari Mako sebagai library untuk template aplikasi ini nantinya. Untuk membuat framework ini bekerja sebagai arsitektur MVC, saya harus membuat beberapa script agar bisa berjalan sesuai dengan keinginan.  Semuanya berada dalam kontrol kita, tidak seperti banyak framework PHP yang semuanya tinggal pakai karena memang dari awal sudah menggunakan konsep MVC. Bahkan model routing dan dispatching pun bebas mau yang seperti apa.

Akhirnya saya bisa sedikit puas karena berhasil membuat dasar dari model aplikasi yang saya inginkan. Begitulah saya yang pada awalnya berharap bisa menguasai framework ini dengan cepat, ternyata harus bersabar lebih lama untuk mendapatkan apa yang saya harapkan. Tampaknya beralih ke Python adalah langkah yang menurut saya akan sangat berguna ke depannya 🙂

Kalau kamu ingin melihat kerangka MVC aplikasi saya, kamu bisa melihat-lihat ke halaman github aplikasi yang saya beri nama civil-engineering-toolbox.

Beberapa Engineer Struktur yang Baik

Cerita di bawah ini adalah terjemahan dari A Few Good Engineers yang merupakan adaptasi percakapan sebuah film berjudul A Few Good Man yang dibintangi oleh Tom Cruise.

Dalam percakapan yang sudah diadaptasi ini, seorang engineer struktur (Eng) berbincang-bincang dengan seorang arsitek (Ar). Percakapan ini tidak bermaksud untuk menyingung pihak manapun, hanya guyonan fiksi yang dibuat untuk hiburan semata 😀

Eng: Kamu menginginkan jawaban?

Ar: Saya rasa saya berhak mendengarkannya.

Eng: Kamu menginginkan jawabannya?!

Ar: Saya menginginkan kebenaran!

Eng: Kamu tidak siap mendengarkan kebenarannya.
Lihatlah, kami tinggal di dunia yang memiliki hal yang kami sebut BALOK, GIRDER, dan KOLOM. Semua itu digunakan untuk MENOPANG BANGUNAN. Siapa yang akan MERANCANG SEMUA ITU? Kamu?
Kamu Tuan Arsitek?

Saya mempunyai tanggung jawab yang lebih besar daripada yang bisa kamu bayangkan. Kamu mengeluh ketika JARAK ANTAR LANTAI YANG TERLALU KECIL dan menggerutu pada UKURAN GIRDERKU YANG BESAR.

Kamu punya kemewahan itu, kamu punya kemewahan untuk tidak perlu tau apa yang aku tau: GIRDER-GIRDER ITU, ketika terjadi musibah, mungkin akan menyelamatkan banyak jiwa. Kehadiranku yang kacau dan tidak bisa dimengerti olehmu, menyelematkan jiwa-jiwa itu.

Kamu tidak ingin jawaban. Karena pada kenyataannya, di tempat-tempat yang kamu tidak ingin membicarakannya di pesta, kamu MENGINGINKANKU untuk berada dalam TIM DESAIN. Kamu MEMBUTUHKANKU untuk berada dalam TIM DESAIN.

Kami menggunakan istilah DESAIN, CODE, ANALYSIS… kami menggunakannya sebagai landasan kami untuk MENGHASILKAN KEAMANAN DAN KENYAMANAN STRUKTUR.

Kamu menggunakannya sebagai lelucon. Saya tidak punya waktu ataupun tertarik untuk menjelaskan DESAINku pada orang yang bangun dan tidur di dalam selimut pada bangunan yang saya buat AMAN, lalu mempertanyakan kenapa aku seperti itu.

Saya lebih suka kamu datang mengucapkan terimakasih lalu pergi kembali mengerjakan tugasmu.

Kalau tidak, saya menyarankanmu untuk mengambil dan membaca MANUAL BAJA dan mulailah MENDESAIN RANGKA BAJA.

Apapun yang terjadi, saya tidak akan mengutuk apa yang berhak kamu dapatkan.

Ar: Apakah kamu MEMBESARKAN UKURAN GIRDER DAN KOLOM?

Eng: (Terdiam) Saya melakukan pekerjaan yang kamu INGIN aku kerjakan.

Ar: (Membentak) Apakah kamu MEMBESARKAN UKURAN GIRDER DAN KOLOM?

Eng: Ya, kamu benar! Aku membesarkan ukurannya.

–SELESAI–

Terlepas dari cerita di atas, sebenarnya khusus untuk wilayah-wilayah di Indonesia yang rawan gempa, struktur yang dibangun di wilayah gempa umumnya memiliki ukuran struktur yang sudah diperkecil agar biaya struktur tidak menjadi mahal (tahan gempa). Seandainya saja struktur dibuat anti gempa/anti-earthquake (berbeda dengan tahan gempa/earthquake resistant), ukuran struktur mungkin jauh lebih besar daripada yang diharapkan.

Font Apa yang Kamu Pakai?

Ketika kita mengetik suatu dokumen, kita mungkin pernah berada dalam posisi menentukan jenis font yang cocok dipakai untuk dokomen kita. Ketika dulu sewaktu SMP kita masih sering mengidolakan  font Comic Sans, mungkin tidak lagi ketika dokumen yang kita buat sudah bersifat formal atau dipakai dan dibaca oleh orang lain. Saya pun banyak belajar banyak tentang penggunaan font dan kapan menggunakan jenis font tertentu pada jenis dokumen yang tepat.

Menjadi web programmer beberapa tahun belakangan ini memang membuat saya belajar banyak bahwa ilmu tentang font memang cukup luas. Hubungan font dengan web programmer apa? Tentu saja web programmer yang bertugas membuat halaman web harus bisa membuat tampilan web yang menarik untuk dibaca, tentu saja font juga harus diperhatikan. Ilmu tentang font memang sudah lama ada, Typography, namun tidak ada salahnya untuk belajar ilmu yang satu ini. Mohon koreksinya jika ada kesalahan.

Dilihat dari bentuknya, font bisa dikategorikan menjadi 2:

  1. Sans-serif, adalah tulisan yang tidak memiliki garis kecil di tiap ujungnya. Sans artinya adalah tanpa, sedangkan serif adalah garis kecil pada ujung font. Contoh font ini adalah Arial, Arial Black, Ubuntu, Segoe UI, dan Tahoma. Masih ada banyak contoh lainnya.

    Serif_and_sans-serif_01
    Source: http://en.wikipedia.org/wiki/File:Serif_and_sans-serif_01.svg
  2. Serif, adalah tulisan yang memiliki garis kecil di tiap ujungnya. Contoh font ini adalah Times New Roman, Georgia, Utopia dan lain sebagainya.

    Serif_and_sans-serif_02
    http://en.wikipedia.org/wiki/File:Serif_and_sans-serif_02.svg

Lalu bagaimana menentukan font yang tepat? Pertama periksa dulu apakah dokumen yang dibuat lebih dominan dibaca di layar komputer atau akan dicetak ke dalam kertas. Jika lebih dominan dibaca di layar komputer, pilihlah font bertipe Sans-serif. Font jenis ini lebih akan mudah dibaca di layar komputer. Contoh font favorit saya adalah Segoe UI (biasa saya pakai mengirim email dengan Outlook), Tahoma (biasa untuk website), atau Lato (font website ini pada saat tulisan ini dibuat). Font jenis sans-serif lebih cocok ditampilkan dalam ukuran kecil (10-11 pt).

Segoe-UI Light, Source:http://www.microsoft.com/typography/fonts/images/small/Segoe-UI-Light.png
Segoe-UI Light, Source:http://www.microsoft.com/typography/fonts/images/small/Segoe-UI-Light.png

Untuk dokumen yang dicetak ke dalam kertas, lebih baik menggunakan font serif karena menghasilkan cetakan yang lebih bagus bila dilihat oleh mata, walaupun tidak menutup kemungkinan beberapa font sans-serif akan tampak bagus bila dicetak di atas kertas.

Buat kamu yang sering membuat dokumen yang banyak memuat rumus (formula) matematika, mungkin kamu tertarik menggunakan paket software LaTeX. Software ini memang dikhususkan untuk mengelola dokumen dengan cara yang berbeda dengan software office seperti Microsoft Office atau LibreOffice. Salah satu kelebihannya adalah tersedianya font yang memang dirancang untuk keperluan rumus matematika.

Font Computer Modern
Font Computer Modern pada paket LaTeX

Saya tertarik dengan font Utopia yang saya temukan bersama paket LyX. Lyx adalah antar muka LaTeX sehingga kita hanya fokus pada isi dokumen, tidak perlu mengetahui banyak tentang perintah (command) pada LaTeX. Sebagai perbandingan, coba kamu lihat jenis font lain pada paket TeX.

Font Utopia pada paket LyX
Font Utopia pada paket LyX

Font Utopia didesain untuk menghandle formula matematika namun nyaman dibaca untuk text biasa (non-formula). Saya bahkan mencetak sebuah cerita dengan menggunakan font ini dan saya sangat menyukainya.

Jika kamu bosan dengan Times New Roman, mungkin kamu layak mencoba font Linux Libertine (Wikipedia) yang menurut saya cukup bagus untuk dicoba. Font ini memang ditujukan sebagai font yang sifatnya free sebagai alternatif Times New Roman. Di halaman websitenya, ada contoh halaman pdf untuk membandingkan kedua jenis font.

Linux Libertine vs Times New Roman
Linux Libertine vs Times New Roman

Ada ribuan font yang mungkin bisa digunakan yang tersebar di internet, namun saya rasa hanya sedikit yang layak digunakan untuk dokumen. Kalo saya sih memang pemilih dalam urusan font. Jika memang tidak ada aturan baku dari kantor atau dari kampus tentang penggunaan font, saya lebih cenderung memakai font yang menurut saya lebih baik dari yang lain. Font di atas adalah beberapa pilihan font favorit saya 🙂

Sibolga Bukan Medan

Percakapan yang sering saya alami adalah kebanyakan orang menganggap bahwa kota Sibolga itu sama dengan kota Medan.

Teman: “Kamu asalnya dari mana?”
Saya: “Dari Sibolga.”
Teman: “Itu Medan bukan?”
Saya: “…”

Saya tidak tau apakah semua orang mengeneralisir bahwa hanya ada 1 kota di Sumatera Utara, yaitu Medan dan semua orang Batak tinggal di Medan. Sekarang coba saya buat percakapan yang identik dengan percakapan saya di atas sebagai perbandingan.

A: “Kamu asalnya dari mana?”
B: “Dari Cirebon.”
A: “Itu Bandung bukan?”

A: “Kamu asalnya dari mana?”
B: “Dari Tegal.”
A: “Itu Semarang bukan?”

A: “Kamu asalnya dari mana?”
B: “Dari Banyuwangi.”
A: “Itu Surabaya bukan?”

Kalo kamu tinggal di Jawa, pasti tau kalo pertanyaan balik si A ga nyambung dengan jawaban si B. Kamu akan kesal kalau kampung halamanmu seenaknya diganti oleh orang lain 😀

Ada jarak sekitar 10 jam menggunakan travel dari kota Medan dan Sibolga, sehingga Medan tidak bisa disamakan dengan Sibolga. Kalau Medan ada di sebelah Timur (Utara) pantai Sumatera, maka Sibolga ada di pantai Barat Sumatera. Demikian juga saya ketika pertama kali mendengar nama kota, saya tidak langsung mengasumsikan bahwa kota tersebut dekat dengan ibukota. Lebih aman berasumsi dan menanyakan balik provinsi kota tersebut alih-alih menayakan ibukotanya.

Teman: “Kamu asalnya dari mana?”
Saya: “Dari Sibolga.”
Teman: “Itu Sumatera Utara bukan?”
Saya: “Iya, di pantai barat Sumatera Utara.”

Teman: “Kamu asalnya dari mana?”
Saya: “Dari Sibolga.”
Teman: “Dari Medan jauh ga?”
Saya: “Masih jauh.”

Yak, demikianlah sebuah percakapan agar kamu tidak dianggap lawan bicaramu tidak mengenal peta dan letak geografis Indonesia 🙂