Halo teman-teman, apa kabar? Kali ini saya ingin membahas sedikit tentang salah satu problem yang ada di web rosalind.info. Judulnya ialah "Counting Point Mutations". Sebagai acuan, teman-teman bisa cek dahulu problem yang akan kita bahas (disini).
Di problem ini kita akan disajikan 2 buah string DNA yang sama panjang, sebut saja s dan t. Tugas kita ialah menemukan hamming distance, yakni jumlah perbedaan huruf (char) antara 2 string tersebut.
Berikut kode untuk pengerjaannya (dalam bahasa java) :
public void solve() {
String s = in.read();
String t = in.read();
int res = 0;
for (int i = 0; i < s.length(); i++) {
if (s.charAt(i) != t.charAt(i)) {
res++;
}
}
out.println(res);
}
Seperti yang teman-teman lihat, kode pengerjaannya cukup simpel. Kita cuman perlu men-scan kedua string tersebut huruf per huruf; dan jika terdapat perbedaan huruf maka kita masukan ke hitungan.
Disini saya memakai fungsi read() untuk meng-input data string. Fungsi tersebut adalah extend dari salah satu sistem input di java, yaitu BufferedReader. Sedangkan untuk output-nya saya memakai fungsi out.println() . Fungsi tersebut adalah modifikasi dari fungsi System.out.println() yang merupakan fungsi default di java. Untuk lebih jelasnya teman-teman bisa melihat kode tambahan untuk memodifikasi fungsi tersebut (input maupun output) di versi lengkap kode saya di github.
Sekian dari saya. Jika teman-teman ingin menanyakan sesuatu, teman-teman bisa menulisnya di kolom komentar. Semoga bermanfaat dan sampai jumpa di artikel berikutnya!
Referensi :
Sumber gambar 1 :https://www.facebook.com/ProjectRosalind/
Sumber gambar 2 :http://rosalind.info/glossary/hamming-distance/
No comments:
Post a Comment