Postingan

Menampilkan postingan dari April, 2020

Algorithma Penempatan n Obyek dengan Fungsi Rekursif Javascript

Gambar
Seorang bertanya kepada penulis dengan pertanyaan berikut: Misalnya An menyatakan berapa banyak cara untuk menempatkan n obyek, yang berbeda dalam 5 kotak. Bagaimana cara menulis dan menyelesaikan relasi rekursif untuk An? Pertanyaan ini sama dengan ada sejumlah n Anak yang disediakan n tempat duduk, berapa banyak macam urutan berjejer yang dapat dilakukan n anak tersebut? Tentu sebagai programmer penulis penasaran, apalagi dipertanyaan tersebut terdapat kata rekursif yang penulis langsung berpikir pastinya yang dimaksud adalah fungsi perulangan rekursif dalam pemrograman. Meskipun penulis belum yakin rekursif yag dimaksud benar atau salah, tetapi sesuai kode di bawah ini, penulis mencoba membuat algorithma dengan menggunakan Javascript. Berikut ini kode penyelesaian pertanyaan di atas: <html> <head> <title>Try Rekursif</title> </head> <body> <div style= "display:flex;flex-direction: row;flex-wrap:wrap;"

Algorithma Starfield dengan HTML5 Canvas

Gambar
Di bawah ini adalah kode animasi starfield dengan menggunakan 800 titik. Idenya sederhana, mendeteksi posisi mouse sebagai titik tengah arah gerak, titik disebar secara random pada luasan canvas, dan digerakkan menjauhi titik tengah dengan kecepatan tertentu. Titik tidak disebar begitu saja, tetapi secara kontinyu ditambahkan ke canvas tiap lima frame. Selain itu, titik tidak digambarkan berupa titik, namun berupa garis, dengan lebar garis yang ukurannya bertambah 0.02 tiap framenya. <html> <head> <title>Starfield</title> </head> <body> <canvas id= "myCanvas" width= "1024" height= "500" > </canvas> <script> var canvas = document.getElementById( "myCanvas" ); var points=[]; var n=0; var pox=0.5*canvas.width; var poy=0.5*canvas.height; var Ro=Math.sqrt(pox*pox+poy*poy); var mousePos={x:pox,y:poy}; function getMousePos(canvas, evt){ var rect = c

Algorithma Integrasi Numerik Sederhana

Gambar
Dalam suatu komunitas yang penulis ikuti, seringkali dipertanyakan problem integrasi numerik. Dan kebanyakan, teman-teman penulis bingung bagaimana mengimplementasikannya dalam bentuk kode program. Perlu diketahui, secara sederhana, kegunaan integrasi tidak lain adalah untuk menghitung luas. Sehingga salah satu metode yang dapat digunakan untuk menghitung luasan adalah dengan membanginya menjadi kotak-kotak kecil. Contoh, misalkan diberikan permasalahan integrasi numerik sesuai persamaan berikut: Dibawah ini adalah kode integrasi numerik untuk menghitung luas, sesuai persamaan di atas, dengan metode kotak: #include <stdio.h> double f( double x) { return (2*x*x+1)*(3-x); } double calc( double a, double b, double dx) { double sum=0; while (a<b){ sum+=f(a)*dx; a+=dx; } return sum; } int main() { printf( "L = %f" ,calc(1.0,3.0,0.000001)); return 0; } Sehingga ketika dijalan

Algoritma Tombol Putar dengan Greenfoot

Gambar
Membuat tombol dengan perilaku diputar, sebagaimana tombol di volume radio jaman dahulu, tidaklah mudah. Hal ini dikarenakan ada perhitungan batasan yang dihitung oleh fungsi Math.atan2, dengan range  sudut -180 sampai 180. Padahal dalam suatu kondisi perhitungan, dapat menghasilkan arah perputaran yang keliru. Misalnya tombol berada di sudut 160, kemudian akan diputar ke sudut 190. Dengan menggunakan konversi Math.atan2 akan menghasilkan arah perputaran minus. Karena dititik 190 dideteksi sudut -170. Untuk solusi kondisi seperti di atas, dilakukan dengan menghitung selisih paling sedikit, perbedaan di range sudut -180 sampai 180, dengan 0 sampai 360. Untuk lebih jelasnya dapat dilihat pada video tutorial berikut: Kode Greenfoot contoh algorithma dapat di downlad di link dibawah ini: https://drive.google.com/open?id=1m-pKkdAWA81X0rYD5ASFFoWQxT34D7Kk

Bagaimana Mendapatkan Penghasilan dari Aplikasi Android

Gambar
Salah satu yang dapat dijadikan sebagai sumber penghasilan bagi freelancer (pekerja lepas), adalah dengan menampilkan iklan dari membuat aplikasi atau game. Penulis adalah Android developer dengan nama Computational Lab di Play Store. Sampai tulisan ini ditulis, telah menghasilkan pendapatan yang lumayan dari Admob, dari membuat aplikasi dan game (EDUGAMEAPP) Android yang telah dimulai sejak tahun 2015. Berikut ini adalah beberapa hal yang perlu diperhatikan untuk menghasilkan pendapatan dari aplikasi Android, khususnya yang didistribusikan melalui Play Store. Membuat Aplikasi Yup, cara pertama pastinya adalah membuat dulu aplikasi atau game. Penulis menggunakan Android Studio untuk kompilasi ke apk-nya. Jika orientasinya jangka panjang, aplikasi dibuat dengan menulis code dari nol. Dan dengan menggunakan asset yang tidak melanggar hak cipta karya orang lain. Asset yang dimaksud disini adalah seperti gambar, suara, video, code, design dan lain sebagainya.

Pengalaman Bayar Pajak Sepeda di Samsat beda Kota

Gambar
  Rabu, 3 April 2020, penulis mencoba membayar pajak sepeda yang jatuh tempo tanggal 18 April 2020 di kota yang berbeda. Tahun-tahun sebelumnya, penulis mengira pembayaran harus sesuai dengan alamat KTP dan dengan menunjukkan motor yang akan dibayarkan pajaknya, sehingga setiap kali jatuh tempo, penulis memilih untuk pulang kampung di Kediri, membayar pajak di sana. Dikarenakan April itu ada masa isolasi diri dari pemerintah terkait wabah COVID-19, dan berdasarkan informasi teman penulis bahwa untuk sekedar membayar pajak dapat dilakukan di Samsat manapun, sehingga penulis mencoba untuk membayar pajak di Samsat Kebonsari, Sukun, Malang. Melalui layanan drive thru, penulis tinggal menyiapkan KTP/SIM, STNK dan uang pembayaran. Dan akhirnya, pajak sepeda motor penulis ternyata dapat dibayarkan dengan mudah dan cepat. Dan sepertinya tanpa perlu membawa sepeda motornya sekalipun.