Tentang Tugas Tambahan Praktikum Sistem Komputer 2007

Meski judulnya ada kata Komputernya, tapi ini bukan tentang satu mata kuliah di Labtek V melainkan di Labtek tetangga.

Empat hari belakangan ini agak sedikit ada tambahan kesibukan karena mesti membantu rekan-rekan mahasiswa Labtek tetangga untuk mengerjakan tugas tambahan kuliah mereka. Well, meski rada-rada bikin sebel tapi ya ikhlasin aja. Namanya juga ngebantu orang πŸ˜›
Jadi ceritanya rekan-rekan angkatan 2005 dari Labtek tetangga tersebut disuruh mengerjakan tugas tambahan untuk praktikum kuliah mereka Sistem Komputer atau Sister (kalau di Labtek V itu untuk mata kuliah bernama IF5091 Sistem Terdistribusi, tapi singkatan Siskom sudah diambil untuk mata kuliah lain Sistem Komunikasi). Dan tugas tambahan ini kira-kira berisi tentang bahasa C, bahasa Assembly IA-32, dan arsitektur komputer serta memory. Yang mana yang gw heran, kok nanya gw sih.

Berawal saat gw lagi nongkrong di kantor. Tiba-tiba ada YM nanya-nanyain gw tentang bedanya register (CPU register) dan memory. Kemudian ditanya lagi beberapa hal tentang C. Kemudian beberapa waktu lagi ada lagi yang ngeYM nanya-nanya soal hal yang sedikit berbeda. Lalu beberapa waktu kemudian ada lagi yang ngeYM gw mengatakan bahwa ada keinginan untuk ke kosan gw buat nanya-nanya dikit. Al hasil bisa gw simpulkan dari kesamaan mereka, ternyata mereka mengambil mata kuliah yang sama.

Total orang yang bertanya kepada gw mengenai tugas tambahan tersebut ada 8 orang. Empat di antaranya mengadakan les privat bahasa C di kosan gw. Dan rekan di Labtek V ternyata ada juga yang bernasib sama πŸ˜› Yang lebih ngeselin lagi satu di antara 8 orang itu pernah menyatakan kepada gw, “Buat bisa programming mah gak mesti masuk prodi di Labtek V, prodi di Labtek sini juga bisa“. Untung gw masih baek mau ngajarin…. *sigh*

Yang ditanyakan di tugas sih memang seputar C yang gw sendiri udah agak-agak lupa karena secara pribadi gw gak terlalu demen sama bahasanya. Assemblynya juga gak pernah gw pake soalnya yang pernah diajarin di kuliah itu assembly dari MIPS dan x86 ala TASM. Yang ini itu agak sedikit janggal karena belum pernah liat mnemonic addl (yang gw kira-kira itu add long) dan sall (yang ini kayaknya store long) untuk assembly yang pernah gw pelajari.

Di antara beberapa soal yang gw rasa agak aneh lagi itu ada dua soal

Bilamanakah statement (x != x) bernilai true? Jelaskan!

dan

Apakah statement (!(!x) = x) selalu benar? Jelaskan!

Ada yang tau jawabannya gak πŸ˜› ? Rada penasaran gw :mrgreen:

Tapi ada beberapa hal yang ingin gw sorot. Di header tugas tersebut ada titah.

TUGAS INI DIKUMPULKAN SENIN 19 NOVEMBER 2007 PUKUL 13.00 HARDCOPY. HARAP DIKERJAKAN SENDIRI. DILARANG MENG-COPY, EDIT, PASTE DENGAN PEKERJAAN TEMAN. BILA TERDAPAT 5 KATA SAMA DALAM SATU KALIMAT DENGAN PEKERJAAN TEMAN DIANGGAP COPY-PASTE DAN AKAN MENDAPATKAN KONSEKUENSI YANG SESUAI (NILAI TOTAL PRAKTIKUM AKAN DIKURANGI).

Well, sesuai dengan kata pepatah, “Lain ladang lain belalang, lain lubuk lain pula ikannya” dan lain Labtek lain juga peraturannya (lihat yang diunderline). Bukan mengungkit-ngungkit masalah komplain anak labtek tetangga yang sering kena tegur salah seorang dosen Labtek V kalau lagi melintas di Labtek ini, tapi peraturan ini keknya emang gak pernah gw liat ada di Labtek V. Di samping merasa penasaran kenapa dan bagaimana sampai asisten-asisten praktikumnya bisa datang dengan ide peraturan tersebut dan juga berapa banyak peserta praktikum yang komplain dengan peraturan ini, gw juga merasa peraturannya benar-benar aneh. Entah kenapa ya πŸ˜›

Kira-kira Labtek V bakal ada peraturan kayak gini gak ya kalo lagi ada tugas :mrgreen: Sekali-sekali boleh dicoba loh, sebenarnya.

Well, no offense buat teman-teman Labtek tetangga. Buat rekan-rekan satu Labtek yang penasaran akan tugasnya bisa didownload di sini. (Gampang banget loh, ternyata πŸ˜› hehehe)

Update : dah 10 orang yang nanya πŸ˜›
Update lagi : ternyata tugas tambahan itu buat yang gak ketauan copy paste tugas pendahuluan praktikum ternyata.

24 thoughts on “Tentang Tugas Tambahan Praktikum Sistem Komputer 2007”

  1. Di antara beberapa soal yang gw rasa agak aneh lagi itu ada dua soal

    Bilamanakah statement (x != x) bernilai true? Jelaskan!

    asumsi gw ANSI C.

    umm, sepertinya tidak pernah secara formal.
    ! adalah operator unary baik untuk bitwise op maupun logical comp.
    jadi tidak akan bisa didekomposisi menjadi x = x ! x;
    dan != dengan operand yang sama untuk operasi logical comparison akan selalu bernilai false. jika operator != diterjemahkan menjadi mnemonic JNE yang dalam implementasinya menggunakan pengurangan aritmetik sehingga menghasilkan 0 (sama) maka pernyataannya bernilai false.

    ada kemungkinan evaluasi di atas menjadi benar pada saat run-time (terlepas dari spesifikasi bahasa C) yaitu jika nilai yang dikopikan ke register awal diubah menjadi tidak sama dengan nilai x yang dikopikan ke register kedua. tapi sepertinya ini kerjaan virus yang bisa modifikasi kode, hahaha…

    Apakah statement (!(!x) = x) selalu benar? Jelaskan!

    pernyataan di atas akan benar jika nilai awal x adalah true.
    operasi di atas jika didekomposisi per langkah adalah :
    – negasi terhadap x
    – negasi lagi terhadap (negasi x)
    – assignment nilai sementara (variabel implisit) dengan nilai x

    tabel kebenarannya :

    x !x !(!x) (!(!x) = x)
    T F T T
    F T F F

  2. >>Bilamanakah statement (x != x) bernilai true?
    >>Jawab: Bila x = NaN (Not A Number). Cobain jLnin program di bwh ini:
    #include
    #include

    int main(int argc, char *argv[])
    {
    float x = 0.0/0.0;
    if(x!=x)
    printf(“hehehehe\n”);
    system(“PAUSE”);
    return EXIT_SUCCESS;
    }

    >>Apakah statement (!(!x) = x) selalu benar?
    >>Jawab: Jelas tidak. Tau logical operator dan bitwise operator?
    ! merupakan logical operator. Misal x = 2,
    !x = 0, trus klo di !(!x) = 1. Jadi !(!x) tidak sama dengan x

    — Semoga bermanfaat —

    Salam,

    Seluruh Asisten Praktikum

  3. Kapan (x!=x) bernilai true?

    jawaban saya hampir sama dengan mas pebbie(hi peb!), mekanisme dari operator != yang paling umum adalah dengan mengurangkan kedua operand untuk kemudian di-check apakah 0 atau bukan. Masalahnya apakah ada kasus dimana suatu operasi pengurangan dengan kedua nilai operand sama menghasilkan hasil bukan 0? jawabannya bisa! coba tinjau salah satu nilai yang mungkin dari tipe floating point;)

  4. >>Apakah statement (!(!x) == x) selalu benar? Jelaskan!
    Revisi soal, yg ditempel di LAB udah direvisi (yg pdf emang blm direvisi)…
    ^_^ v

  5. hoho….

    ternyata itu yang pertama itu masalah di implementasinya. cukup logis ternyata. gak kepikiran sampai situ kalau implementasi bisa SUB terus JZ misalnya….

    yang kedua itu juga ternyata masalah revisi soal, toh πŸ˜› pantesan :mrgreen:

  6. “BILA TERDAPAT 5 KATA SAMA DALAM SATU KALIMAT DENGAN PEKERJAAN TEMAN DIANGGAP COPY-PASTE”

    Peraturan yang aneh. Kalau emang satu kalimat persis sama, mereka kebetulan ngambil dari sumber yang sama, apa pasti copy+paste? Ga toh… Berlebihan… Atau jangan-jangan mereka tuh dah kebiasaan copy+paste, jadi si asisten yang dulu pernah jadi mahasiswa dah tau toh, hehe…

    Makanya, jangan copy+paste, tapi copy+paste+edit+revisi haha…

  7. @pebbie :
    ternyata memang compiler Cnya masih menyimpan sedikit hal-hal πŸ˜›
    tapi emang sih, untuk sebuah kasus yang jarang keliatan pada operasi yang sering dilakukan apa mesti diatasi dengan menambahkan instruksi-instruksi tambahan pada binarynya.

    @reiSHA :
    keren loh tuh peraturannya. bisa menumbuhkan kreativitas πŸ˜› at least kalaupun copy+paste+edit+revisi, khan akhirnya tu orang menambah 2 buah instruksi yang mampu membantu untuk mengingat versi originalnya πŸ˜› plus kalaupun revisi khan mesti bisa membuat sebuah hal yang mirip tapi esensinya sama. jadinya makin inget :mrgreen:

  8. @Petra
    “ternyata memang compiler Cnya masih menyimpan sedikit hal-hal”

    Hmm.. tampaknya bukan karena compiler Cnya deh. Itu memang implementasi floating point dalam program. Lebih tepatnya, itu memang format IEEE 754.

    Coba lihat di alamat web http://java.sun.com/docs/books/jvms/second_edition/html/Concepts.doc.html#33377

    kira-kira potongan artikelnya sebagai berikut:
    “NaN is unordered, so the numerical comparison operators , and >= return false if either or both operands are NaN. The equality operator == returns false if either operand is NaN, and the inequality operator != returns true if either operand is NaN. In particular, x != x is true if and only if x is NaN, and (x=y) will be false if x or y is NaN.”

    Atau bisa lihat di alamat web http://en.wikipedia.org/wiki/NaN

    kira-kira potongan artikelnya sebagai berikut:
    “A NaN does not compare equal to any floating-point number or NaN, even if the latter has an identical representation. One can therefore test whether a variable has a NaN value by comparing it to itself (i.e. if x != x then x is NaN).”

    Semoga bermanfaat.. ^^

  9. Ò€œBILA TERDAPAT 5 KATA SAMA DALAM SATU KALIMAT DENGAN PEKERJAAN TEMAN DIANGGAP COPY-PASTEÒ€

    ini saya yang buat,,emg sodara punya masalah dimana??

    klo dari sumber yang sama, dan emang cuma itu satu2nya jawaban it’s OK,,ngerti ga?,,tapi klo kemungkinan jawabannya tuh bisa dari banyak sumber n kebetulan terdapat 5 kata yang sama brarti copy-paste dong..

    bung, liat aturan di harvard dong..(klo ngga nonton love story di harvard deh..)

  10. Ò€œBILA TERDAPAT 5 KATA SAMA DALAM SATU KALIMAT DENGAN PEKERJAAN TEMAN DIANGGAP COPY-PASTEÒ€

    Emang tugasnya ada berapa kalimat?
    Kalau kata penghubung seperti “itu” “dan” “atau” “sehingga” “tersebut” juga dikenakan aturan kata sama? Gawat…

  11. Setuju sama roberto n Restya… Haha… Btw, pembuat_ATURAN menujukan panggilan bung buat siapa ya? Aku atau Petra? Kalau aku, apa kata dunia? Haha…

    Tapi, kalo dipikir2 ya, repot amat yang jadi asisten. Jadi harus meneliti tiap kalimat yang dibikin lalu dibandingkan dengan yang lain. Emang satu asisten meriksa berapa mahasiswa? Hihi… Atatu jangan2 dah ada programnya ya… Pake string matching atau apa πŸ™‚

    Peace yak! Jangan emosian…

  12. wew…
    mengutip kata bu inge di kuliah IF2182,
    “Yang jadi masalah bukan codingmya, tapi mikir gimana coding itu dilakukan”
    Itu intinya sih… Tepatnya dia ngomong apa gw lupa…

Leave a Reply