Tolong pilih kategori sesuai, jenis posting (pertanyaan atau bukan) dan sertakan tag/topik yang sesuai misal komputer, php, mysql, dll.
Promosi atau posting tidak pada tempatnya akan kami hapus.
Mencantumkan kode program di posting Anda, tolong ikuti aturan yang sesuai, baca http://diskusiweb.com/discussion/39204/aturan-cara-menyisipkan-kode-program-di-diskusiweb

Baca cara posting gambar/image di post Anda: http://www.diskusiweb.com/discussion/47345/cara-menyisipkan-menyertakan-image-pada-posting/p1

kuis pemrograman

edited 12:28PM in Gaul
ayo...ada yg bisa nukar isi 2 variabel (A dan B, integer semua) tanpa perlu variabel ketiga? tanpa function built-in sebangsa swap

Ini slh satu soal yg kmrin diajukan waktu test calon programmer junior ditempat saya...:D

Tanggapan

  • ???

    sorting lebih ringan ketimbang operasi penjumlahan?
    segitiga pascal lebih sederhana dr penjumlahan?
    belajar optimasi programming dr mana?
  • a=a+b;b=a-b;a=a-b;
  • sip...masih ada cara lain...

    kadang test justru pake yg sederhana tp ga kepikiran : sorting & searching, segitiga pascal, ato yg spt ini
    jadi ada baiknya klo tahu, siapa tau besok pas test dapet yg kaya gini...
  • b = a xor b.
    a = a xor b.
    b = a xor b.
  • :D:D:D

    operasi paling enteng emang assignment value kok,
    makanya utk swap secara manual pasti dibantu variable ketiga,
    cukup 3x assign value tanpa operasi lain
  • untuk jadi soal, itu memang menarik.. tapi kenyataan di lapangan, ribet amat.. terlalu teoritis, kurang praktis..
  • tapi keren. cuman ntarnya kalo ngerjain project kebanyakan mikir ribet biasanya :P
  • hue..he..he...diriku taq belajar begituan di bangku kuliah...dpt teori cuma 20% kali yak...hoho...

    tapi boleh juga buat nambah pengetahuan test masuk programmer...coz gw ga pernah ngalemin yg kayak gitu...cuma modal am yg namanya portfolio tok ama relasi...
  • halah.. kuliah tu cuman pemacu doank. kaga ada ilmunya emang..
  • lha, anda kan sudah bilang itu cuma trik? :D
    practically ndak pernah dipake
    jadi ada masalah?
  • Dear All,

    Yang di atas itu just trick. Pada intinya kalau mau pindahkan 2 variabel kudu musti gunakan 3 variabellah.

    Saya bahas kelemahannya deh:
    a=a+b;b=a-b;a=a-b;
    ini kalau math overflow gimana ya?

    Thanks & Regards
    Hendra Mahadina
  • Originally posted by farhan386
    ayo...ada yg bisa nukar isi 2 variabel (A dan B, integer semua) tanpa perlu variabel ketiga? tanpa function built-in sebangsa swap

    Ini slh satu soal yg kmrin diajukan waktu test calon programmer junior ditempat saya...:D

    tukerin di warung sebelah aja mas
  • Originally posted by yudhist39
    koq bisa overflow?
    bisa to mbah, kalo misal bilangan lebih dr batas maks type variabel yg bisa dihandle bahasa pemrograman

    misal pake type word, cuma batas 65535
    a = 60000
    b = 30000
    pasti overflow

    sama aja, xor pun jg bisa overflow
    a = 70000
    b = 1
    overflow juga

    yg diatas kan cuma teori, ndak bakal dipake di praktek
    saya bukan gak tau xor, cuma saya ngomong pake bahasa awam *ini ruang bukan ruang programming*
    yg paham operasi xor rata2 cuma orang it, padahal rhea, mimi, contoh member yg bukan orang it di forum ini,
    penjumlahan lebih gampang dicerna kan? :)
    diitung manual pake kertas + bolpen juga gampang
    *kalo itung pake manual, gak ada yg namanya overflow, yg xor malah yg mbulet mesti nyari binary-nya dolo*
  • koq bisa overflow?
  • pake array?

    b(1) = a(0)
    a(1) = b(0)

    b(0) = b(1)
    a(0) = a(1)
  • klo overflow gitu mah.. pake variabel ke 3 juga bisa kan?
  • yah...

    balik lagi ketulisan saya yg ini dong
    Originally posted by .
    :D:D:D

    operasi paling enteng emang assignment value kok,
    makanya utk swap secara manual pasti dibantu variable ketiga,
    cukup 3x assign value tanpa operasi lain
    tapi emang itu yg paling baik, dipake di praktek, gak cuma teori
  • oh.. masalah tipe data..
  • void xorswap(int *A, int *B){
        if (A != B){
            *A ^= *B;
            *B ^= *A;
            *A ^= *B;
        }
    }
    

    inilah yang disebut dengan algoritma xor swap, dengan memanfaatkan aturan closure pada
    operasi binary, muncullah algoritma xor swap ini. gak percaya bahwa algoritma bisa jalan? ok,
    saya gak bisa maksa anda percaya, jadi saya persilahkan anda untuk menanyakannya ke mesin,
    ambil compiler anda, tulis kode program seperti di atas, compile, terus jalankan……nah, percaya
    kan
Sign In or Register to comment.