Mercurial 101: Install dan Gunakan Saat Ini Juga

Sedikit pengantar, mercurial adalah sistem manajemen source code untuk kolaborasi pekerjaan dan pelacakan perubahan. Utamanya digunakan oleh para pembuat program. Perangkat lunak ini dibuat berbasis bahasa pemrograman python dan sedikit C untuk alasan kecepatan.

Sudah terdapat beberapa sistem manajemen source code seperti ini, misalnya: Concurrent Versions System (CVS), Subversion (SVN), Bazaar (bzr), Git, dan beberapa yang lain. Lihat di Comparison of revision control software

Masing-masing Versioning System mempunyai kelebihan dan kekurangan. Jadi kenapa saya memilih mercurial, sederhana: saya belum terlalu dalam menggunakan CVS dan SVN dan saat ini sedang fokus di bahasa pemrograman python. Jadi mercurial ada pilihan wajar saat ini. Selain itu namanya keren, "scientist" banget.

more »

posted at: 02:56 | path: /linux | permanent link | Tags , | comment(s): 0

Definit Integral Metode Monte Carlo

Hari ini mendapat email dari seorang mahasiswa, begini bunyinya:

Bapak salaman sya mau bertanya. ini saya attach. sebelumnya terimaksih banyak ya bapak

Dan isi file attachment dalam format "doc" adalah:

bapak, saya mau menanya bagaimana skrip untuk perhitungan metode monte carlo dengan cara membangkitkan bilangan acak.

Dalam integral monte carlo ada rumus begini :

Dengan N = banyaknya data yang dibangkitkan.
Algoritmanya begini mas :
1. bangkitkan data dalam interval a sampai b
2. masukkan nilainya ke dalam fungsi g(x) lalu jumlahkan nilainya
3. hitung rata-rata lalu kalikan dengan (b-a) sebagai taksiran nilai integral yang dicari.

Misal ada soal begini :
bagaimana cara menyelesaikan dengan script python dengan integral monte carlo....? mohon saya diberi contoh skripnya ya bapak

Sebelumnya saya ucapkan terimakasih banyak atas kebaikan bapak

Entah iseng atau kurang kerjaan, saya jawab pertanyaan ini. Berikut jawaban saya:

Berikut ini skrip yang dimaksud. Saya buat secara cepat dengan menggali ingatan hampir 14 tahun yang lalu. Tidak ada upaya optimasi apapun, hanya menerjemakan algoritma "monte carlo" yang berbasis bilangan acak. Dan perlu diingat bilangan acak ini, karena dibuat oleh komputer sifatnyat tidak benar-benar acak. Sering disebut "quasi random".

#!/usr/bin/python
from math import *
from random import *

# ubah fungsi ini. 
def equation(x):
        return x*x

def genrand(a,b,n):
        step = (b-a)/n
        pairs = []
        l = a
        while (l<n):
                x = uniform(a,b)
                pairs.append([x, equation(x)])
                l = l + step
        return pairs

def calculate(a,b,n):
        pairs = genrand(a,b,n)
        points = len(pairs)
        y = 0
        for x in pairs:
                y = y + x[1]
        avg = y/points
        bmina = b - a
        return bmina*avg

a = 2.0
b = 8.0
n = 1000
print ""
print "a = %s, b = %s, n= %s" % (a,b,n)
print "Definit integral: %s" % calculate(a, b, n)
print 40*"-"
print "notes: change equation() definition"
print ""

Gunakan dengan bijak dan tidak ada pernyataan apapun. Resiko apapun ditanggung pengguna. *LOL*

posted at: 14:58 | path: /programming | permanent link | Tags , | comment(s): 3

Python Programming 101

Adalah kebiasaan yang baik jika sebelum membaca suatu tulisan kita mengetahui terlebih dahulu apa yang akan kita dapatkan dari tulisan tersebut. Pengantar ini akan memberikan petunjuk kira-kira apa yang akan Anda dapatkan setelah Anda selesai membaca sampai di akhir tulisan.

Tulisan ini dimaksudkan untuk memberikan pengetahuan awal pemrograman dengan bahasa Python. Di sini tidak akan dibahas secara ditel kemampuan-kemampuan yang dipunyai Python. Karena biasanya pembahasan ditel akan membawa kita pada uraian yang panjang lebar dan tidak langsung pada inti permasalahan. Silakan merujuk pada dokumentasi-dokumentasi tentang Python, yang bisa didapatkan dari situs resmi Python di www.python.org jika ingin mendapatkan dokumentasi lengkap.

Beberapa tulisan yang membahas perbandingan Python dengan bahasa pemrograman yang lain juga banyak bertebaran di Internet, silakan mulai dari Google atau Yahoo!

Penjelasan yang mengikuti pendahuluan ini akan memberi pengetahuan pada pembaca bagaimana membuat program —yang terkadang disebut dengan skrip— dalam bahasa pemrograman Python. Pembaca akan mampu membuat program dalam bahasa Python yang sederhana setelah membaca tulisan ini secara lengkap. Mampu di sini berarti mengetahui dan bisa menggunakan sintaks-sintaks dasar yang dipakai dalam Python.

more »

posted at: 11:04 | path: /programming | permanent link | Tags , | comment(s): 0

About Me

Profesional teknologi informasi secara kebetulan. Mantan pelajar fisika instrumentasi dan terapan. Bekas programmer dan sekarang lebih sering mengajar dan memelihara beberapa server dengan sistem operasi GNU/Linux.

Sempat belajar materi standar fisika, semisal: termodinamika, mekanika klasik, mekanika kuantum, fisika zat padat, dan fisika inti. Pernah mempelajari Thin Film Transistor. Pernah juga belajar jaringan di CISCO Academy.

Senang membaca, tapi jarang menulis. Menikmati makanan enak dan jalan-jalan. Dekat dengan dunia anak-anak dan pendidikan.

Menyukai tantangan, troubleshooting, skill teknis, dan elektronika.

Mengembangkan materi training GNU/Linux, PHP, database, dan jaringan komputer. Tentu saja juga mengajarkannya. Pernah mengembangkan materi laboratorium instrumentasi elektronika dan bahasa pemrograman PASCAL. Di hari-hari yang telah lewat, membuat desain dan implementasi sistem instrumentasi elektronika dan transduser. Desain dan implementasi jaringan komputer berbasis GNU/Linux dan piranti-piranti CISCO.

beberapa buku panduan GNU/Linux yang bisa didapatkan di toko buku.

Pernah menggunakan pemrograman berbasis web dengan PHP dan Java. MySQL dan PostgreSQL. Juga bahasa pemrograman Python, BASIC, XBase (Clipper, FoxBase, DBase), PASCAL, C/C++, dan tentu saja pemrograman shell.

Minat Saat Ini

Sistem Operasi GNU/Linux, khususnya distribusi Debian dan CentOS

Otomotif, member 405 Community

Membaca buku-buku dan blog yang berkaitan dengan bisnis dan marketing secara umum.

Sedang tertarik dengan Sun Solaris OS dan mikrokontroler untuk kesenangan. Bekerja ditemani beberapa komputer kelas pentium I dan laptop HP 520 dengan sistem operasi GNU/Linux Debian v5.0 dengan nama sandi Lenny.

Bisa dihubungi dengan email sas—at—salman.or.id.

posted at: 11:00 | path: / | permanent link | Tags , , , , , , , | comment(s):