View Poll Results: Susah mana?

Voters
11. You may not vote on this poll
  • Java

    4 36.36%
  • C (bukan C++)

    7 63.64%
Page 2 of 2 FirstFirst 12
Results 16 to 30 of 30

Thread: C vs Java

http://idgs.in/248431
  1. #16
    koker123's Avatar
    Join Date
    Jan 2007
    Location
    Somewhere on Earth
    Posts
    838
    Points
    993.90
    Thanks: 1 / 2 / 2

    Default

    Quote Originally Posted by bl00d13z View Post
    jelas susah C, medium level language itu
    C/C++, fortran termasuk medium level, low levelnya assembly, high level baru java, perl, .NET, python, VB, dll
    sama kek nanya C sama assembly susah mana?!
    tapi enak kalo udah belajar yg level bawah, naek ke atas jadi simpel, ga butuh waktu lama adaptasinya, bisa assembly gw yakin di C cepet adaptasinya, di C lancar gw yakin di VB, delphi, java, python dll juga cepet belajarnya, beda kalo orang tau VB dluan disuruh ngoding di C ato assembly, kerasa baru susahnya.. makanya C suka jadi standar, soalnya kalo udah bisa C naek ke bahasa yg lebih tinggi ga lama blajarnya
    betul banget, soalnya klo belajar dari bahasa yg lebih rendah kerasa banget susahnya klo mau bikin ini itu, jumlah line codenya pun jauh beda.
    bahkan klo coding java pake netbeans, mau bikin GUI bisa drag & drop, trs tinggal pasangin Action Listener doang
    buat tree pun gampang tinggal drop aja d panelnya wakakaka.
    btw resign ya bro ?

    Quote Originally Posted by trogdor View Post

    "java yg pake OO tehnik ?"
    Di Java "Everything is an object." Jadi rasa-rasanya ga mungkin pake Java tanpa menggunakan OOP.

    maksud gw tuh, kan klo belajar OOP kaya java tuh pertama2 kan gak bakal langsung gunain OOnya. kaya dulu gw inget bikin simple program semua d satu main method.
    trs ntar2 baru dah mulai pake inheritance, panggil method lain, trs pake final parameter, trs pake set ama get method, method overriding, dll.
    Last edited by koker123; 19-11-09 at 20:09.

  2. Hot Ad
  3. #17
    st4nl3y's Avatar
    Join Date
    Oct 2006
    Location
    tempat ngorok
    Posts
    739
    Points
    1,062.60
    Thanks: 1 / 7 / 6

    Default

    sbnrnya 2 2 na c mayan2 susah jg..
    cm kn biasanya kita belajar c++ dl..jd na setidak nya base nya kita ud mayan ngerti..
    tp tetep kl menurut g c msh mayan ngerti java drpd c tambah2 ya..soalna c tambah2 thu agak ribet..kl eror kg bs kliatan dengan jelas..
    kl d java kn ud modrn thu..kl eror bs kliatan jelas..wokoko
    My new site..
    Come and see it..xD
    http://demjeans.com/

  4. #18
    jimmy3000's Avatar
    Join Date
    Jan 2008
    Location
    iNdoNeSia
    Posts
    322
    Points
    492.70
    Thanks: 1 / 0 / 0

    Default

    KALO BAHASA C MEMANG LEBIH SUSAH SEDIKIT CODINGNYA. TAPI PEMBAGIAN PARAMETER LEBIH JELAS.. JGN JAVA LAHHH , MENANG VISUAL DOANKKK..

  5. #19

    Join Date
    Mar 2009
    Posts
    32
    Points
    39.10
    Thanks: 0 / 0 / 0

    Default

    ati" tapi klo ngoding di C, banyak vuln, diantaranya format string vuln & buffer overflow. contoh:

    Code:
    #include <stdio.h>
    #include <stdlib.h>
    
    int main(void)
    {
        char *secret ="data uang bank century"; // top secret data!
        int saldo=1000000000; // satu milyar
        int transfer;
        printf("Masukkan jumlah transfer:");
        scanf("%d",&transfer);
        saldo = saldo - transfer;
    
        printf( "Saldo sekarang: %s\n",saldo);
        return 0;
    }
    kalo gw jalanin & isi inputnya kek gini
    Code:
    ./vuln
    Masukkan jumlah transfer:865486048
    Saldo sekarang: data uang bank century
    nah loh,. bukan saldonya yg ditampilin tapi string didalam *secret why? lol gw ja masih blajar ama om bl00d13z, pusyink harus di disassembler segala, ini gara"
    format string kata om blood,ada lagi yg lebi parah, tapi tar deh, gw juga masi bngung, ya intinya sih coding di bahasa yg lebih rendah aspek sekuritas lebih dilimpahkan ke programmingnya

  6. #20
    Moonwalk's Avatar
    Join Date
    Nov 2006
    Location
    Jakarta
    Posts
    1,403
    Points
    5.38
    Thanks: 0 / 67 / 63

    Default

    Java Lebih Mudah Tapi Kalo Saran Gw Sih Ambil C Buat Kedepannya Lebih Menjamin Meskipun Java Sekarang Lebih Luas Penyebarannya.

  7. #21
    cornholio's Avatar
    Join Date
    Aug 2007
    Location
    Lake Tit-i-Caca
    Posts
    27
    Points
    30.60
    Thanks: 0 / 0 / 0

    Default

    Quote Originally Posted by koker123 View Post
    maksud gw tuh, kan klo belajar OOP kaya java tuh pertama2 kan gak bakal langsung gunain OOnya. kaya dulu gw inget bikin simple program semua d satu main method.
    trs ntar2 baru dah mulai pake inheritance, panggil method lain, trs pake final parameter, trs pake set ama get method, method overriding, dll.
    Tergantung kok itu, aku pertama kali belajar Java langsung disuruh belajar buat make design pattern disana.

    Quote Originally Posted by dadakan View Post
    ati" tapi klo ngoding di C, banyak vuln, diantaranya format string vuln & buffer overflow. contoh:

    Code:
    #include <stdio.h>
    #include <stdlib.h>
    
    int main(void)
    {
        char *secret ="data uang bank century"; // top secret data!
        int saldo=1000000000; // satu milyar
        int transfer;
        printf("Masukkan jumlah transfer:");
        scanf("%d",&transfer);
        saldo = saldo - transfer;
    
        printf( "Saldo sekarang: %s\n",saldo);
        return 0;
    }
    kalo gw jalanin & isi inputnya kek gini
    Code:
    ./vuln
    Masukkan jumlah transfer:865486048
    Saldo sekarang: data uang bank century
    nah loh,. bukan saldonya yg ditampilin tapi string didalam *secret why? lol gw ja masih blajar ama om bl00d13z, pusyink harus di disassembler segala, ini gara"
    format string kata om blood,ada lagi yg lebi parah, tapi tar deh, gw juga masi bngung, ya intinya sih coding di bahasa yg lebih rendah aspek sekuritas lebih dilimpahkan ke programmingnya
    Disassembler? Seharusnya sih ga perlu.
    Code:
    printf( "Saldo sekarang: %s\n",saldo);
    %s harusnya %d. %s expect string (array of char + 0x00) sedangkan inputnya int. Jadi pasti programnya bakalan jalan-jalan di memory baca yang bukan seharusnya.
    Oh, dan program itu ada kemungkinan besar untuk produce Segmentation Fault.

    The burninator is not here right now, you're talking to his alter ego.

  8. #22

    Join Date
    Mar 2009
    Posts
    32
    Points
    39.10
    Thanks: 0 / 0 / 0

    Default

    trus darimana sy bisa dpt 865486048 tanpa debug? yg kalo diinput malah baca menampilkan "data uang bank century"

    $ gdb -q vuln
    (gdb) disas main
    Dump of assembler code for function main:
    0x080483f4 <main+0>: lea 0x4(%esp),%ecx
    0x080483f8 <main+4>: and $0xfffffff0,%esp
    0x080483fb <main+7>: pushl -0x4(%ecx)
    0x080483fe <main+10>: push %ebp
    0x080483ff <main+11>: mov %esp,%ebp
    0x08048401 <main+13>: push %ecx
    0x08048402 <main+14>: sub $0x24,%esp
    0x08048405 <main+17>: movl $0x8048520,-0x8(%ebp)
    0x0804840c <main+24>: movl $0x3b9aca00,-0xc(%ebp)
    0x08048413 <main+31>: movl $0x8048537,(%esp)
    0x0804841a <main+38>: call 0x804832c <printf@plt>
    0x0804841f <main+43>: lea -0x10(%ebp),%eax
    0x08048422 <main+46>: mov %eax,0x4(%esp)
    0x08048426 <main+50>: movl $0x8048551,(%esp)
    0x0804842d <main+57>: call 0x804831c <scanf@plt>
    0x08048432 <main+62>: mov -0x10(%ebp),%eax
    0x08048435 <main+65>: sub %eax,-0xc(%ebp)
    0x08048438 <main+68>: mov -0xc(%ebp),%eax
    0x0804843b <main+71>: mov %eax,0x4(%esp)
    0x0804843f <main+75>: movl $0x8048554,(%esp)
    0x08048446 <main+82>: call 0x804832c <printf@plt>
    0x0804844b <main+87>: mov $0x0,%eax
    0x08048450 <main+92>: add $0x24,%esp
    0x08048453 <main+95>: pop %ecx
    0x08048454 <main+96>: pop %ebp
    0x08048455 <main+97>: lea -0x4(%ecx),%esp
    0x08048458 <main+100>: ret
    End of assembler dump.
    (gdb) x/s 0x8048520
    0x8048520: "data uang bank century"
    (gdb) p 1000000000 - 0x8048520
    $1 = 865486048
    (gdb)

    address 0x8048520 mengandung string "data uang bank century"
    jadi saya cuma kurangi 1 milyar dengan 0x8048520 hasilnya 865486048, gimana saya bisa mengexploitasi tanpa debugging/disassembler?

  9. #23

    Join Date
    Feb 2009
    Location
    jakarta
    Posts
    2,075
    Points
    1,500.24
    Thanks: 2 / 0 / 0

    Default

    #include <stdio.h>
    #include <stdlib.h>

    int main(void)
    {
    char *secret ="data uang bank century"; // top secret data!
    int saldo=1000000000; // satu milyar
    int transfer;
    printf("Masukkan jumlah transfer:");
    scanf("%d",&transfer);
    saldo = saldo - transfer;

    printf( "Saldo sekarang: %s\n",saldo);
    return 0;
    }
    wahahah.. ini mah salah di sini nih (yang gw bold)

    coba pake %d.. saldo itu kan integer.. hwhw
    gitu aja koq repot.

    btw tanpa belajar C dulu langsung Java adalah salah!
    Java itu sama koq kyk C..

  10. #24

    Join Date
    Mar 2009
    Posts
    32
    Points
    39.10
    Thanks: 0 / 0 / 0

    Default

    semua coder jg tau itu yg salah ~_~ yg saya tekankan di C itu banyak vulnerability, dibanding java, jadi aspek sekuritas dominan sangat tergantung di programmernya. salah satu bahasa lain yang banyak diexploitasi PHP, ASP, C++,
    coba sekarang yg jago java tunjukin celah sekuritas (vuln) di pemrograman java?

  11. #25
    renshin's Avatar
    Join Date
    Nov 2009
    Posts
    428
    Points
    495.20
    Thanks: 0 / 8 / 8

    Default

    gak ada kok program yang benar2 sempurna dalam sekuritas, java aja selama variabel tsb gak di set private(akses data hanya lewat method setter dan getter) masih dapat diubah isi variabel tsb.. CMIIW

  12. #26
    cornholio's Avatar
    Join Date
    Aug 2007
    Location
    Lake Tit-i-Caca
    Posts
    27
    Points
    30.60
    Thanks: 0 / 0 / 0

    Default

    Quote Originally Posted by dadakan View Post
    trus darimana sy bisa dpt 865486048 tanpa debug? yg kalo diinput malah baca menampilkan "data uang bank century"

    ...

    address 0x8048520 mengandung string "data uang bank century"
    jadi saya cuma kurangi 1 milyar dengan 0x8048520 hasilnya 865486048, gimana saya bisa mengexploitasi tanpa debugging/disassembler?
    Kamu disassemble itu karena mau exploit, bukan karena mau fix. Tapi, dengan disassembling saja udah keliatan isi "secret" datanya apa. Jadi ga perlu jalanin programnya lagi untuk liat isinya. Dan program itu bisa diexploit karena memang di programnya ada yang salah.

    Quote Originally Posted by dadakan View Post
    semua coder jg tau itu yg salah ~_~ yg saya tekankan di C itu banyak vulnerability, dibanding java, jadi aspek sekuritas dominan sangat tergantung di programmernya. salah satu bahasa lain yang banyak diexploitasi PHP, ASP, C++,
    coba sekarang yg jago java tunjukin celah sekuritas (vuln) di pemrograman java?
    Setiap kali saya coding C/C++ memang jadinya defensive coding. Bakalan banyak mikirin hal-hal seperti cegah pointer nyasar, bersihin memory, etc... Hal-hal yang ga perlu dipikirin di high level language. Tetapi bukan itu berarti C vulnerable.

    Sekitar 2-3 minggu yang lalu, saya lagi review C# code untuk di-commit dan di code dari out-sourced programmer lihat ada baris yang kira-kira isinya:
    Code:
    String query = "select * from some_table where some_field = '" + Request.QueryString("something") + "'";
    Padahal di-project itu pake ORM (nHibernate). Jadi, ya, semua tergantung programmer, apapun bahasa yang dipakai.

    Masalah pointer nyasar yang kamu sebutin di beberapa post sebelumnya, itu bukan gara-gara C vulnerable, tetapi kalo coding di bahasa yang bisa akses langsung memory ya begitu resikonya.

    Pernah coding di bahasa lain yang high level tapi bisa akses memory langsung? Di classic VB, dulu saya sering pake CopyMemory, FillMemory, ZeroMemory, etc.. (API dari kernel32.dll) karena alasan performance dan sering pointer nyasar gara-gara itu. Jadi issue-nya bukan C.

    Oh, dan kalo program yang kamu post itu di convert ke Java, buat dapetin "secret" datanya ga perlu disassemble. Di Java, kalo program di-compile itu jadinya byte code bukan native code (machine instruction), jadi bisa di-decompile . Walaupun agak berantakan, tapi dapet source-nya lagi. Dan dari sourcenya udah keliatan isinya.

    Quote Originally Posted by renshin View Post
    gak ada kok program yang benar2 sempurna dalam sekuritas, java aja selama variabel tsb gak di set private(akses data hanya lewat method setter dan getter) masih dapat diubah isi variabel tsb.. CMIIW
    Kalo memang dibuat public, berarti memang seharusnya variable tersebut dibutuhkan untuk bisa diubah dari class lain. Tetapi kalo private dan dikasih setter kan sama aja bisa diubah sama class lain. Kecuali dengan tambahan keyword final.

    The burninator is not here right now, you're talking to his alter ego.

  13. #27

    Join Date
    Mar 2009
    Posts
    32
    Points
    39.10
    Thanks: 0 / 0 / 0

    Default

    yea bner banget master programmer, just show me the code exploitation in java

  14. #28
    renshin's Avatar
    Join Date
    Nov 2009
    Posts
    428
    Points
    495.20
    Thanks: 0 / 8 / 8

    Default

    Quote Originally Posted by dadakan View Post
    yea bner banget master programmer, just show me the code exploitation in java
    mau belajar exploit java atau mau mencegah exploit neh ??

  15. #29
    petrusali's Avatar
    Join Date
    Apr 2008
    Location
    Bojonegoro
    Posts
    3,376
    Points
    3,648.30
    Thanks: 38 / 44 / 26

    Default

    C itu basic dari segala programming language berbasis C. Trus gimana caranya bandingin?
    Mau nelpon murah? Click here & input ref code rva296.

  16. #30
    nitrixz's Avatar
    Join Date
    Nov 2009
    Location
    Anti-MHers
    Posts
    296
    Points
    447.90
    Thanks: 33 / 13 / 12

    Default

    C lebih susah..... Java masih mending, tapi ya beda2 dikit sih...wkakakak

Page 2 of 2 FirstFirst 12

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •