Tahapan Membuat Aplikasi

Seperti sudah dijelaskan pada artikel sebelumnya, anjuran saya buat mereka yang ingin mahir pemrograman adalah

Buatlah aplikasi production barang 5-10 buah. Insya Allah setelah itu Anda akan mahir.

Setelah kita menguasai dasar-dasar pemrograman seperti:

  • konsep variabel dan tipe data
  • control flow (looping, branching, jumps)
  • pengelompokan (function, class, package)

tidak serta merta kita bisa langsung membuat aplikasi. Analoginya, walaupun kita mahir menggunakan pengolah dokumen seperti MS Word atau Open Office, tidak berarti kita bisa menulis seri lanjutan dari Harry Potter and the Deathly Hallows.

Inilah sebabnya banyak pemegang sertifikasi pemrograman seperti Oracle Certified Java Programmer yang tidak bisa membuat aplikasi, walaupun mendapatkan nilai yang tinggi.

Ada berbagai macam aplikasi, diantaranya:

  • aplikasi bisnis, yaitu aplikasi yang membantu pencatatan kegiatan bisnis. Contohnya aplikasi akunting, purchasing, perpustakaan, mini-market, bank, payment gateway, dan sebagainya
  • aplikasi sistem, yaitu aplikasi yang memungkinkan berbagai perangkat bekerja sama. Contohnya sistem operasi, device driver, embedded system, dan lainnya
  • dan berbagai kategori aplikasi lainnya.

Artikel kali ini akan kita batasi hanya untuk membahas aplikasi bisnis. Mengapa demikian? Karena aplikasi bisnis adalah genre aplikasi yang paling banyak dibuat orang. Sebagai ilustrasi, kita hanya mengenal beberapa sistem operasi populer, yaitu Microsoft Windows, Linux, MacOS. Bandingkan dengan aplikasi bisnis, untuk proses akuntansi saja berapa ribu aplikasi yang tersedia. Bahkan walaupun sudah ada yang gratis dan lengkap, tetap saja banyak perusahaan yang minta dibuatkan aplikasi sejenis. Jadi dari sisi komersial dan ketersediaan lapangan kerja, pembuatan aplikasi bisnis tetaplah pangsa pasar terbesar.

Pada artikel ini, kita akan membahas proses berpikir dan tahapan mulai dari penjabaran aplikasi yang akan dibuat, sampai menjadi skema database dan desain aplikasi berorientasi objek (object-oriented).

Aplikasi Prakarya vs Aplikasi Production

Salah satu pertanyaan yang sering ditanyakan di forum programmer adalah

Saya ingin belajar bahasa pemrograman [isi bahasa yang Anda sukai di sini], bagaimana ya caranya supaya bisa mahir?

Dan jawaban saya selalu sama

Coba buatlah aplikasi berkualitas production barang 5 - 10 kali, setelah itu insya Allah akan mahir.

Jawaban di atas memang singkat, tapi jalan untuk menuju kesana sungguh tidak mudah dan tidak singkat. Apalagi untuk pemula, setidaknya ada dua pertanyaan besar:

  1. Apa sih aplikasi production itu?
  2. Bagaimana cara membuat aplikasi?

Pertanyaan pertama akan kita jawab pada artikel ini. Sedangkan pertanyaan kedua akan kita jawab pada artikel selanjutnya.

Membuat Subreport Jasper Dalam SpringMVC

Pada artikel ini, kita akan membuat implementasi download file PDF/XLS dari aplikasi web. Fitur ini akan kita implementasi menggunakan library Jasper Report dan framework Spring MVC.

Projectnya akan kita buat menggunakan Maven, supaya bisa dibuka dengan baik (portable) di berbagai IDE. Untuk bisa memahami artikel ini dengan baik, pembaca harus sudah paham tentang Spring Framework dan Spring MVC. Yang belum paham Spring Framework bisa membaca artikel terdahulu tentang Dependency Injection. Sedangkan pembahasan tentang Spring MVC bisa dibaca di rangkaian artikel berseri tentang membuat aplikasi web dengan Spring MVC.

Source code lengkap dapat diakses di repository Github. Bagi yang ingin tahu urutan langkah-langkah implementasinya, bisa lihat commit history.

Cara Mengetahui IP Address Dari MAC Address

Jaman sekarang banyak sekali perangkat-perangkat aneh yang menarik untuk dioprek, misalnya Raspberry PI, PC on a stick, Smart TV, Harddisk NAS, dan sebagainya. Semua perangkat aneh ini terhubung ke jaringan baik melalui kabel maupun WiFi.

Di mayoritas jaringan WiFi yang ada, alamat IP diberikan secara otomatis (DHCP), sehingga kita tidak tahu berapa alamat IP untuk perangkat yang ingin kita akses. Tambahan lagi, beberapa router wifi juga kurang bagus antarmukanya seperti pada gambar berikut

Masa yang dicantumkan cuma MAC Address saja? Hostnamenya juga Unknown lagi -_-

Untungnya, ada cara untuk mengkonversi MAC Address menjadi IP. Berikut caranya

Menjadi Mahasiswa Hi-Tech

Seperti sudah diceritakan pada posting sebelumnya, saya sudah beberapa tahun ini mengajar di Universitas Pancasila. Total sudah lebih dari 6 kelas yang saya ajar. Kalau satu kelas saja isinya 30 orang, maka setidaknya ada 180 mahasiswa yang telah mengikuti perkuliahan saya.

Memperhatikan perilaku ratusan mahasiswa dalam mengikuti kuliah, saya menemui suatu kondisi yang ironis.

Dari sekian banyak mahasiswa, tidak ada satupun yang mengikuti perkuliahan sesuai dengan kondisi jaman sekarang. Semuanya, tanpa terkecuali, masih kuliah seperti halnya saya kuliah di tahun 1997 dulu. Ya benar, selama 17 tahun tidak ada perubahan metodologi sama sekali.

Padahal ini mahasiswa jurusan IT, yang sepatutnya menjadi yang terdepan dalam hal memahami dan memanfaatkan teknologi terkini. Mereka masih saja:

  • mendengarkan saya berceloteh di depan kelas
  • mencatat celotehan saya dan gambar-gambar yang saya buat di papan tulis
  • pada saat mau ujian, belajar dari catatan tersebut

Tidak sebanding dengan persenjataan masing-masing individu:

  • Smartphone. Segelintir pakai iPhone, dan mayoritas pakai Android. Minimal Blackberry.
  • Internet Nonstop. Baik paket data dari smartphone maupun internet gratis dari kampus.
  • Sesi kuliah saya selalu diadakan di lab komputer. Masing-masing orang menghadapi PC di depan mukanya.

Nah, lalu bagaimana seharusnya??

Ada beberapa poin yang seharusnya dilakukan mahasiswa jaman sekarang:

  1. Jangan mencatat
  2. Tinggal di awan
  3. Kolaborasi menggunakan social networking
  4. Belajar dari internet

Waduh, tidak mencatat gimana mau ingat? Tidak bawa buku lalu mau menulis dimana? Bukannya orang bilang Facebook itu tidak produktif?

Mari kita bahas..

Silabus Kuliah Pemrograman

Melanjutkan rutinitas 2 tahun terakhir, minggu ini musim perkuliahan semester genap di Universitas Pancasila dimulai. Saya kebagian pegang Pemrograman 2 di kelas reguler, dan Pemrograman 4 di kelas karyawan. Buat para fans yang pengen ketemu dipersilahkan cari saya di Fakultas Teknik Universitas Pancasila setiap Kamis jam 18-21 dan Jumat jam 09-11.

Berikut adalah silabus perkuliahan dari Pemrograman 1 sampai Pemrograman 4. Silabus ini akan sering saya update mengikuti perkembangan jaman.

JavaScript Development Stack

Pada artikel sebelumnya, kita telah sukses menyiapkan kombinasi framework di sisi server. Nah sekarang kita akan siapkan persenjataan untuk aplikasi clientnya.

Artikel bagian kedua ini berselang waktu agak lama dari artikel sebelumnya karena saya bingung :D Nah saya yakin kebingungan ini juga akan dialami oleh rekan-rekan yang baru belajar server-side-javascript. Ada beberapa hal yang membuat saya bingung, yaitu:

  • arsitektur aplikasi dan bahasa pemrograman
  • development tools
  • integrasi aplikasi pada saat development
  • integrasi aplikasi pada saat production

Sebagai gambaran, bentuk akhir dari aplikasi yang akan dibuat seperti ini

Persiapan Coding NodeJS

Menyambung dari pengantar di artikel sebelumnya, kali ini kita akan mempersiapkan development environment untuk membuat aplikasi dengan NodeJS dan Redis. Kita juga akan mendeploy aplikasi kita di Heroku agar bisa diakses masyarakat umum.

Ongoing Learning

Hidup sebagai programmer bisa diibaratkan seperti nyemplung di laut. Untuk bisa survive, kita harus terus bergerak dan berenang. Begitu kita diam, langsung deh tenggelam.

Ini juga berlaku buat saya yang sudah 12 tahun jadi programmer. Teknologi baru bermunculan dengan cepat dan kita harus keep up to date. Artikel ini adalah bagian pertama dari catatan perjalanan saya belajar teknologi baru. Seperti biasa, source code yang dihasilkan akan saya share di Github.

Mari kita mulai.

Development Stack 2014

Tiga tahun lalu, saya memposting artikel tentang stack development yang digunakan di ArtiVisi. Artikel kali ini adalah update dari stack yang digunakan tiga tahun yang lalu.

Pilihan stack ini saya presentasikan pada pertemuan Java Meet Up (JaMU) Januari 2014 yang diadakan di kantor blibli.com. Materinya bisa diunduh pada link berikut:

Berikut rangkuman dari isi presentasi saya tersebut