Home > Music, Perl, Programming > Music.pl – Pencari file music yang sama

Music.pl – Pencari file music yang sama

Suatu hari teman kosan saya punya ide menarik pas saya lagi males ngerjain tugas akhir. Dia pengen suatu program yang bisa nge-list semua lagu2 mp3 atau format sejenisnya yang sebenarnya sama filenya cuman berada di folder2 yang berbeda. Cerita awalnya kan waktu itu lagi ngobrol2 (bertiga) ngebandingin space harddisk yang dipake cuman buat audio. Nah salah satu temen kosan saya bilang kalo sebenernya sih ada banyak file2 yang ngedobel2, cuman karena file-nya udah kelewat banyak jadi susah kalo dicariin satu2. Nah muncullah ide buat program yang satu ini. Intinya program ini nanti memberikan keluaran file List.txt yang isinya daftar2 file yang diekspektasi sama beserta letak directory-nya. Kalo kita liat source code-nya disana tertulis v1.02, jangan terlalu diperhatiin juga sih sebenernya, tapi buat informasi aja:

v1.00 => mp3 dianggap sama kalo namanya sama (dengan asumsi misal ada nama file “03_-_Maliq__d’Essentials_-_Free_Your_Mind”, “03 – Maliq d’Essentials – Free Your Mind”, dan “Maliq d’Essentials – Free Your Mind” adalah sama)

v1.01 => sekarang mp3 diperiksa dari ukuran file, yang sebelumnya hanya nama, dengan asumsi bahwa ukuran file sama maka kemungkinan filenya pun sama

v1.02 => diberikan fitur untuk langsung menentukan apakah file yang diekspektasi sama akan di-delete atau tidak

Sementara ini program ini hanya bisa dijalankan pada OS Windows (sudah saya tes pake laptop saya yang Windows 7), soalnya emang buat dapet list awalnya pakai command bawaan windows yaitu “dir”. Buat ngejalanin bisa dobel klik programnya (saya kasih nama music.pl, di-rename juga terserah, tidak mempengaruhi apapun). Bisa juga lewat command prompt lalu masuk ke posisi program ditaruh (kalo bisa jangan ditaruh di desktop). Untuk contoh skrinsut programnya:

Awalnya kita masukin tempat directory yang mau di explorasi (bahasanya pake explorasi, biar keren dikit ya :P), misal kalo disini “d:\users\music”, untuk case(besar kecil) huruf gak penting, yang jelas jangan lupa pakai backslash (\) bukannya slash buat link posisinya. Nah ntar kita tunggu program ini beberapa saat, temen kosan saya sudah nyobain, dia punya sekitar 5000 lagu dan butuh sekitar 20 detik (semakin banyak file semakin lama, kemampuan komputer juga kayaknya ngaruh :D). Kalo di tempat saya sih gak ada 5 detik, soalnya lagu2 yang jarang didengerin udah disimpen di harddisk. Tunggu sampe ntar muncul gambar seperti di bawah nih:

Yang dikurung siku itu berapa banyak file yang mirip (misal [#3] berarti ditemukan 3 file yang sama, ntah itu nama atau ukuran). Dapat diliat gambar di atas lagu U2, walaupun salah satu file namanya terdapat “010. “ tetap dianggap sama). Setelah itu, kita tinggal pilih [y/n], jika kita merasa salah satu file tidak perlu, tinggal pilih saja ‘y’, cukup mudah kan? Setelah melewati beberapa pertanyaan nanti kita ditanyain apakah mau buka file List.txt atau nggak, tidak kita buka langsung pun tidak masalah, contoh keluaran file List.txt misal seperti ini: (klik untuk ukuran yang lebih besar)

Udah deh, kalo gak sengaja ada file yang pengennya gak kehapus tinggal masukin aja ke tempat semula. Setiap file dikasih tau kok mana file yang dihapus ataupun yang nggak😀

Kelemahan (barangkali buat pembuatan v1.03 kalo gak males :D)

Ibarat pepatah yang sering diberikan di tulisan2 ampe beberapa kita udah bosen dengernya, yaitu tidak ada gading yang tak retak, padahal kayaknya belum ada penelitian buat ngebuktiin ini kan? Bisa aja ternyata ada gading yang gak retak. Yaudah daripada kita ngebahas gading, saya sebutkan kelemahan2 yang ada di program ini:

  1. Karakter aneh misal saja tulisan jepang tidak terbaca dengan baik, sebenarnya masalah ini terjadi saat program melakukan command “dir”, keluaran dari command itu memunculkan karakter misal tanda tanya (?), atau karakter aneh2 lainnya, jadi misal ada error kalo file tertentu gak bisa didelete, ya mesti kita ubah dulu namanya menjadi standar keyboard (kecuali komputernya udah support buat tulisan jepang misalnya pas di command “dir” keliatan tulisannya berarti gak ada masalah)😀
  2. File yang pertama kali ditemukan dalam kasus ini berada di directory yang lebih awal daripada yang lain selalu tidak akan dihapus, sedangkan yang ditemukan berikutnya baru yang akan ditanyakan apakah akan dihapus atau tidak. Walaupun sebenarnya ini bukan kelemahan yang berarti, karena sebenarnya tinggal ditambahkan aja agar dari file pertama diberikan pilihan akan dihapus atau tidak. Sengaja tidak saya berikan soalnya takut2 kalo file-nya gak sengaja kehapus semua. Jadi misal sebenarnya kalo kita pengen nyimpen yang urutan kedua, tinggal cut aja sendiri file-nya ke directory yang kita inginkan, toh udah dikasih list posisi file-nya di List.txt
  3. Tampilan program gak enak diliat, soalnya belum pake GUI, jadi ya dijalanin lewat tampilan command prompt. Tambahan lagi programnya dari bahasa perl, jadi ya perlu interpreter Perl sendiri. Intinya kita mesti install program perl duluan, tapi mayan lah ya barangkali mau edit programnya atau mau nyobain bahasa perl yg asik terutama di LWP-nya😀
  4. Buat orang yang udah “freak” ama music dan file-nya gila2an banyaknya, gak kebayang bakal ditanyain berkali2 mau dihapus atau nggak kalo banyak yang kembar, trus kalo mau berhentiin programnya gak ada skema khusus, terpaksa pakai brute force misal teken Ctrl+C (dalam kasus ini bukan shortcutnya ‘Copy’ lho tapi buat nyetop programnya)😀

Nah dari kelemahan yang nomer 3 kan udah keliatan kalo sebenarnya kita mesti install perl dulu baru bisa pake programnya, buat interpreter yang pake windows saya saranin buat install ActivePerl (bukan maksud buat ngiklan, tapi emang menurut saya program ini lebih bagus soalnya ngupdet package-nya gampang). Trus seperti yang sudah saya bilang, buat siapa aja yang mau ngembangin nih program terserah aja, tapi kalo bisa credit-nya ditambahin nama saya juga ya, kalo mau, sebenernya programnya sangat sederhana dan gak sulit untuk dipaham. Menurut saya sendiri kodingannya masih belum efektif dan bisa lebih disingkat lagi. Cuman karena males dan temen kosan saya yang minta udah ngerasa cukup dengan program ini, ya gak saya optimalkan lagi😛

Intinya saya cuman pengen nge-share aja, toh sebenarnya nih program juga temen kosan saya yang minta, cuman sayang aja kalo cuman berhenti disini aja, dan barangkali bisa jadi program yang berduit, nah kalo ternyata misal siapa aja yang ngembangin dapet duit jangan lupa hubungin saya buat ditraktir dimana gitu, terserah deh (:D). Oh iya ini link buat donlot file-nya (kecil kok, cuman 5,7 KB). Info tambahan buat yang tidak menggunakan ActivePerl, jangan lupa untuk mengedit baris pertama npp.pl setelah tanda “#!” dan menggantinya dengan link directory ke perl(.exe) yang anda punya (untuk windows biasakan menggunakan backslash untuk menulis posisi directory ya). Semoga bermanfaat😀

Categories: Music, Perl, Programming
  1. August 1, 2011 at 12:14 pm

    Ngerick, jadi juga program yg ini. Sepertinya aku bakal perlu, folder musikku berantakan banget.

  2. August 1, 2011 at 4:43 pm

    target selanjutnya bikin mp3 renamer, jadi begitu dijalanin, file mp3 nya ganti nama jadi format –
    biar file nya enak diliat :p
    tp gak tau mau bikin kapan

  3. August 1, 2011 at 4:46 pm

    formatnya (nama_artis) – (judul_lagu)
    sial, gara2 tanda < tulisannya ada yg hilang

    • August 2, 2011 at 8:35 am

      ngeformat ID3Tag nya bisa gak jo? soalnya di player-player, misal di hapeku, yg muncul bukan nama filenya. Tapi info dari ID3Tag, biar bisa di sort berdasarkan album, genre, dll.

      • August 2, 2011 at 10:09 am

        ntar coba awa cek barangkali ada library di perl, tp paling bisanya ID3Tag yg judul ama artist, soalnya mesti ngecek internet dulu kan buat tau misal nama album atau genrenya

  4. ariobw
    August 11, 2011 at 7:35 pm

    ngeriks emang mastah mujo ini… m(_ _)m

    • August 11, 2011 at 11:39 pm

      programnya masih simpel kali yo, cuman array doank
      di kompi bengkel udah dicoba belum? barangkali ada error
      btw library id3tag ada, tinggal sempetnya baca

  5. January 23, 2012 at 11:25 am

    keren..

    dri dlu saya pengen bljr bkin program… cm blm kesampean..
    mgkn bs bljr dr blog ini…

    salam knl bro…

    • January 23, 2012 at 1:40 pm

      saya juga blm jago, sama2 blajar lah kita😀

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: