Tentang Tugas Tambahan Praktikum Sistem Komputer 2007
by Petra on Nov.19, 2007, under Intermezzo
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
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
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.
November 19th, 2007 on 9:51 am
Boeng, blon klaar djoewa koweorang poenja koelija ?
November 19th, 2007 on 9:58 am
boeng koeaing! lama kita tak bersoea!
koelija ik blon klaar…. boeng doakan lah ja!
November 19th, 2007 on 11:03 am
Di antara beberapa soal yang gw rasa agak aneh lagi itu ada dua soal
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…
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
November 19th, 2007 on 12:32 pm
>>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
November 19th, 2007 on 1:13 pm
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;)
November 19th, 2007 on 2:45 pm
>>Apakah statement (!(!x) == x) selalu benar? Jelaskan!
Revisi soal, yg ditempel di LAB udah direvisi (yg pdf emang blm direvisi)…
^_^ v
November 19th, 2007 on 3:12 pm
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
November 19th, 2007 on 3:53 pm
oh iya yah.. gw nggak memperhitungkan yang floating-point..
hehehe.. thx infonya..
kuliah hacking nih!
*kabur*
November 19th, 2007 on 3:59 pm
“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…
November 19th, 2007 on 4:12 pm
@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 :
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
keren loh tuh peraturannya. bisa menumbuhkan kreativitas
November 19th, 2007 on 5:22 pm
wkwkwk …
rusuh …
untung ga jadi asisten aing … :p
November 19th, 2007 on 5:26 pm
http://csapp.cs.cmu.edu/
November 19th, 2007 on 5:34 pm
@wildan :
yah well, ada juga memang approach bottom up gitu…..
November 19th, 2007 on 6:31 pm
kira-kira bu inge akan berkomentar apa yah?
*kabur lagi*
November 20th, 2007 on 8:27 am
@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.. ^^
November 20th, 2007 on 8:47 am
@baguspewe :
i see.
ternyata pernah disinggung di IF2191 dulu ^_^
November 20th, 2007 on 12:37 pm
“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..)
November 20th, 2007 on 2:44 pm
aturan yang aneh…
emang di Harvard ada aturan kaya gitu?
November 20th, 2007 on 3:39 pm
ahahaha
panas2
*siram solar*
November 21st, 2007 on 8:42 am
“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…
November 21st, 2007 on 9:00 am
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…
November 21st, 2007 on 9:54 am
@Roberto:
di Harvard mungkin gak ada peraturan kayak gitu..
mungkin yang ada lebih ‘aneh’ lagi..^^
well, who knows?
November 21st, 2007 on 10:14 am
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…
November 22nd, 2007 on 8:13 pm
wah wah, ternyata jawabannya dibahas disini…
*
* untung ngga dapet tugas tambahan