{Hakim}

Dream Runner

Arsip untuk ‘C#’ Kategori

Ada surat yang hilang

Ditulis oleh Muhammad Hakim di/pada 2 Maret 2009 8:28 am

Setelah sekian lama mendengarkan murattal sheikh Misahry Rashid Al-Afas aku merasa, ada surat yang hilang. Masalahnya aku jarang mendengarkan langsung sehari dari surat pertama – sampai terakhir; biasanya sih ambil beberapa surat, sesuai hari dan mood :) , terus didengarkan. 

hari ini rasa penasaran itu semakin besar, dan setelah saya cek (manual), ya ternyata memang hilang satu surat, hanya ada 113 file sebanarnya ada 114 file, hanya saja surat ke 68 terduplikasi, sehingga kalau dihitung minus duplikasi hanya ada 113 file. aku cek dengan manual, satu – persatu secara skimming, singkat sekilas, dan gak ketemu surat keberapa yang hilang, tingkat ketelitianku memang sudah jauh berkurang :( .
files

akhirnya, insting programmer muncul (emang dasarnya pemalas, pekerjaan yang yang gak sempurna dilakukan, didelegasikan saja ke komputer :P ), buat saja satu program pendek, untuk memeriksa surat keberapa yang tidak ada. progamnya super simple, cuman ngecek isi file dalam direktori, terus ditandai deh, surat keberapa yang hilang. ini dia kode yang kutulis (so simple and strighforwad aka bruteforce  huh ;) )

using System;
using System.IO;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            DirectoryInfo di = new DirectoryInfo(@”G:\Multimedia\Al – Quran\Meshary Rashid Efaasy-Qatar\”);
            bool[] exist = new bool[115];
            for (int i = 0; i < 115; i++) {
                exist[i] = false;
            }

            foreach (FileInfo fi in di.GetFiles())
            {
                string name = fi.Name;
                if (name.Substring(name.LastIndexOf(‘.’)+1, 3) == “mp3″)
                {
                    int sn = Convert.ToInt32(fi.Name.Substring(0, 3));
                    exist[sn] = true;
                }
            }
 
            for (int j = 1; j < 115; j++) {
                if (!exist[j])
                    Console.WriteLine(“surat{0} !exist”, j);
            }
            Console.ReadLine();
        }
    }
}

karena di folder itu yang tersimpan bukan hanya file mp3, jadi dilakukan filter dulu, apakah yang hendak diperiksa adalah file mp3 atau bukan.

 

dan akhirnya ketemu, ternyata surat Ad-Dhukhaan, surat ke-44 belum ada. dan langsung saja download deh disini . Alhamdulillah, sekarang sudah lengkap. 

Kalau koleksi oleh Qari’ yang lain di kompieku insya Allah sudah lengkap, tapi mungkin perlu ku periksa lagi :)

* official sites of Syeikh Mishary Rashid Al-Afasy : http://www.alafasy.com/

Ditulis dalam C#, Programming | 2 Komentar »

Reversing Number, Which Algorithm is Faster?

Ditulis oleh Muhammad Hakim di/pada 28 Maret 2008 11:42 pm

ok, ini hasil dari jalan – jalan ke dunia maya, eksplorasi + coding sak nyuk. permasalahan : buat lagoritma untuk membalik urutan digit dalam suatu bilangan, misal 123456789 -> 987654321. saya ingin membandingkan 2 algoritma untuk solusi permasalahan ini, algoritma yang di perbandingkan adalah algoritma reverse number dengan memanfaatkan fungsi bawaan C# dan algoritma buatan sendiri dengan memanfaatkan kaidah matematikan (modulo 10). pertama saya buat algoritma balik angka dengan memanfaatkan fungsi built-in char[].reverse dalam sebuah fungsi ReverseString, kayak gini nih:

algoritma reversString, sorry pake gambar jadi gak bisa langsung copy

nah, yang kedua saya tidak menggunakan fungsi reverse, tapi kita memanfaatkan modulo 10, kayak gini:

image

hoho.., saatnya mengujinya, kita akan menggunakan masing – masing untuk 1 juta kali eksekusi, dan…….inilah hasilnya (dan kode mainnya):

image

image

kesimpulan : algorimta ke-2 (mainin bilangan dengan modulo 10) lebih cepat ~3x di banding dengan memanfaatkan fungsi builtin reverse, sebenarnya ini sangat tidak aneh sih, begitu nggak? jadi untuk reverse number, mendingan buat sendiri seperti itu. o iya, silahkan coba juga perbandingan dengan algoritma buatan anda sendir, selamat coding :)

Ditulis dalam C#, Programming | Leave a Comment »