Forum Sains Indonesia




*
Selamat datang, Pengunjung. Silahkan masuk atau mendaftar. Apakah anda lupa aktivasi email?
Mei 24, 2012, 10:45:41 AM

Masuk dengan nama pengguna, kata sandi dan lama sesi

Artikel Sains

Aku Cinta ForSa

  ForSa on FB  ForSa on Twitter

Pranala Luar

ShoutBox!

Last 10 Shouts:

 

haman11

Hari Ini jam 08:11:34 AM
ada yg tauproses daur ulang urin pada cicak gk ? ;)
 

GhostInMachine

Kemarin jam 03:52:17 PM
kk mau tanya cara upload Tulisan dong??
 

army.fice

Kemarin jam 12:22:47 AM
sepi banget sih :(
 

lustforscience

Mei 22, 2012, 08:26:02 PM
amin
 

exile_rstd

Mei 22, 2012, 08:24:55 PM
offline....
good night all  ;)
 

exile_rstd

Mei 22, 2012, 08:23:08 PM
iyaaaa jumat saya mau ujian kenaikan kelas. doain ya om Farabi, semoga ujiannya lancar dan dpt nilai memuaskan  :D
 

Farabi

Mei 22, 2012, 08:20:37 PM
KMana aja non? Sibuk belajar?
 

exile_rstd

Mei 22, 2012, 07:44:23 PM
argh lama ga buka forsa, comment di beberapa thread jd membingungkan saya. apa karena udh lama ga asah ya...
 

N E R R O

Mei 20, 2012, 07:41:57 PM
udah lama gak mampi ke forsa, sdh banyak berubah
 

bangnono_swedye

Mei 20, 2012, 05:23:03 PM
pertanyaa2 ane di forum kesehatan cuma2 diliaat2in aj, kagak ada yang komen ato ngasih jawaban :'( kebiasaan di forsa kah..?? :'(

Show 50 latest

Penulis Topik: Program 'tukar dengan 2 variabel'  (Dibaca 2311 kali)

0 Anggota dan 1 Pengunjung sedang melihat topik ini.

Offline Alan adhityo

  • Dosen
  • ****
  • Tulisan: 270
  • IQ: 36
  • Gender: Pria
    • Lihat Profil
    • Alseven - Physics and Technology
Program 'tukar dengan 2 variabel'
« pada: September 30, 2010, 07:30:20 PM »
gw pingin sharing aja ni .  ;D
biasanya program tukar pakai 3 variabel kan, nah yang ini pakai 2 variabel.

this is it, with pascal,, and cekidot..  ;D  ;D  ;D

program tukar

uses crt;

var
  x,y: integer;

begin
 clrscr;
 write('masukkan x : '); readln(x);
 write('masukkan y : '); readln(y);
 writeln('x = ',x);
 writeln('y = ',y);

 writeln('hasil:');

    x:=x+y;
    y:=x-y;
    x:=x-y;

 writeln('x = ',x);
 writeln('y = ',y);
 readln;
end.

 

kunjungi MIL education (bandung) http://mileducation.wordpress.com

Offline adisae

  • Dosen
  • ****
  • Tulisan: 304
  • IQ: 8
    • Lihat Profil
Re: Program 'tukar dengan 2 variabel'
« Jawab #1 pada: September 30, 2010, 08:06:08 PM »
Lumayan kreatip.. ;)

tapi..gimana y dibanding 3 variabel..?
mungkin dari segi kecepatan?

n ini tambahan aja s..
untuk operasi penjumlahan dan pengurangan (bilangan bulat/integer) lebih cepat gunakan prosedure Inc dan Dec..

Offline Alan adhityo

  • Dosen
  • ****
  • Tulisan: 270
  • IQ: 36
  • Gender: Pria
    • Lihat Profil
    • Alseven - Physics and Technology
Re: Program 'tukar dengan 2 variabel'
« Jawab #2 pada: September 30, 2010, 09:31:21 PM »
bisa lebih efisien sih . ^^

program di atas khusus untuk tipe data integer dan real . :)

ok, terima kasih, ;D

Offline oktario

  • Siswa Baru
  • *
  • Tulisan: 2
  • IQ: 0
    • Lihat Profil
Re: Program 'tukar dengan 2 variabel'
« Jawab #3 pada: Oktober 04, 2010, 04:59:59 PM »
maaf kk saya mau tanya
tukar dengan 2 variabel gunanya buat apa?
tolong jelaskan scra org awam soalnya saya tidak tau apa?
dan saya ingin tau hal ini krena rasanya menarik....
 ;D ;D ;D ;D ;D ;D ;D ;D ;D

Offline Henz_Azthral

  • Mahasiswa
  • **
  • Tulisan: 20
  • IQ: 6
    • Lihat Profil
Re: Program 'tukar dengan 2 variabel'
« Jawab #4 pada: Oktober 05, 2010, 06:47:34 PM »
    x:=x+y;
    y:=x-y;
    x:=x-y;
menurut saya tidak semua bilangan dalam tipe integer bisa tukar 2 variabel... Misalnya X=20000, Y=25000... Ntar Kalo X=X+Y error dong... Kan batas max integer cuma 32767 (kalo gak salah)...
Maaf kalo salah...hehe ;D

Online Farabi

  • Profesor
  • *****
  • Tulisan: 2584
  • IQ: 167
  • Gender: Pria
  • Self-Proclaim Judge. All hail safirot.
    • Lihat Profil
Re: Program 'tukar dengan 2 variabel'
« Jawab #5 pada: Oktober 07, 2010, 07:51:11 AM »
Untuk mesin 16-bit bilangan unsigned integer bisa sampai 65536, sedangkan untuk signed integer memang cuma 32767.
Informasi yang aku anggap menarik
http://farabinewsnow.blogspot.com/

Saya Indonesia ASLI.

Offline adisae

  • Dosen
  • ****
  • Tulisan: 304
  • IQ: 8
    • Lihat Profil
Re: Program 'tukar dengan 2 variabel'
« Jawab #6 pada: Oktober 07, 2010, 08:52:14 AM »
Misalnya X=20000, Y=25000... Ntar Kalo X=X+Y error dong... Kan batas max integer cuma 32767 (kalo gak salah)...
Untuk mesin 16-bit bilangan unsigned integer bisa sampai 65536, sedangkan untuk signed integer memang cuma 32767.

tergantung compiler directive..aku lupa perintah-nya, tapi yang jelas secara default compiler pascal (delphi juga) tidak akan mempermasalahkan operasi tersebut..
dan ketika input lebih dari rangenya pun tidak apa2, cuma nanti nilai variabelnya tercatat beda..
yang dipermasalahkan yaitu ketika kita mencoba memasukkan nilai diluar range variabel dari kode, misal menulis kode X:=50000, hasilnya error ketika dicompile..

kemudian apa yang terjadi pada operasi diatas?
X integer (sign) atau pada delphi smallint

X=20000 dan Y=25000
X=X+Y
X=20000+25000
harusnya X=45000 kan
tapi karena bit paling tinggi dianggap sebagai sign/tanda - (negatif), dalam kasus ini integer pada pascal  16 bit maka bit terendah adalah bit ke 0 sedang tertinggi bit ke 15..
jadinya X yang tersimpan??
X=45000-216
X=45000-65536
X=-20536

terus pertanyaannya apakah kode diatas masih valid?
jawabannya masih, untuk kasus integer dan nilai input X dan Y valid

Y=X-Y;
Y=-20536-25000
Y=-45536
melampaui batas -2^16 = -32768
jadi yang tercatat
Y=2^16-45536
Y=65536-45536
Y=20000

X=X-Y
X=-20536-20000
X=-40536
melampaui batas -2^16 = -32768
jadi yang tercatat
X=2^16-40536
X=65536-40536
X=25000

lha itu untuk operasi integer yang melampaui range

untuk kasus tipe data real/float maka ada masalah yang akan timbul, yaitu presisi tipe data real/float yang terbatas
coba aja deh tipe data diganti real terus masukkan X=1.11e10 dan Y=2.22e-10 pasti pertukaran nilai X Y tidak valid.. ;)

Offline Henz_Azthral

  • Mahasiswa
  • **
  • Tulisan: 20
  • IQ: 6
    • Lihat Profil
Re: Program 'tukar dengan 2 variabel'
« Jawab #7 pada: Oktober 07, 2010, 08:18:23 PM »
Wow...Rupanya bisa kayak gitu...

Eh, Numpang tanya...
(Nih di VB6, tapi kayaknya mirip2 pascal)

Dim X,Y as integer

     dengan

Dim X as integer
Dim Y as integer

     Sama???

Soalnya pas gw coba bwt code

X=20000
Y=25000            {Gak Error Kalo pake Dim X,Y as integer, tapi kalo penulisannya
X=X+Y...              dipisah jadi Error}

Offline adisae

  • Dosen
  • ****
  • Tulisan: 304
  • IQ: 8
    • Lihat Profil
Re: Program 'tukar dengan 2 variabel'
« Jawab #8 pada: Oktober 08, 2010, 12:16:33 AM »
kayaknya pascal ma VB jauh banget deh.. ;D
meski sama2 bahasa tingkat tinggi, VB tu terlalu mempermudah penulisan kode..
sehingga kurang cocok untuk pembelajaran

aku g punya VB6 s, cuma kayaknya sama ama VBA nya MS Access..

Kode: [Pilih]
Dim X,Y as integer

beda dengan

Kode: [Pilih]
Dim X as integer
Dim Y as integer

Dim X, Y as integer bisa dinyatakan seperti ini
Kode: [Pilih]
Dim X
Dim Y as integer

jadi X tidak bertipe integer
tipenya variant (mengikuti data yang dimasukkan kedalamnya)

maka pada kode X=X+Y
nilai X akan 45000 tidak terpotong (x jadi dianggap bertipe long yg range nya -231 s/d 231-1)

O iya di VB operasi melebihi range, secara default itu dianggap tidak valid dan muncul pesan error..
tapi tidak tau juga apakah bisa dibuat agar tidak error..tak cari2 ga ketemu..

Online Farabi

  • Profesor
  • *****
  • Tulisan: 2584
  • IQ: 167
  • Gender: Pria
  • Self-Proclaim Judge. All hail safirot.
    • Lihat Profil
Re: Program 'tukar dengan 2 variabel'
« Jawab #9 pada: Oktober 09, 2010, 09:18:25 AM »
Kalo pake kompiler 16-bit untuk angka melebihi 65535 harus pakai long, atau long int.
Tapi sebentar lagi mode 16-bit di komputer sudah jadi bangkai, jadi kompiler semacam pascal dan lain2x tidak akan terpakai lagi.

Offline adisae

  • Dosen
  • ****
  • Tulisan: 304
  • IQ: 8
    • Lihat Profil
Re: Program 'tukar dengan 2 variabel'
« Jawab #10 pada: Oktober 09, 2010, 09:51:10 AM »
Y memang begitu..
sekarang pun dan banyak CPU 64 bit kan..cuma memang belum menggeser aplikasi 32 bit..

yang aku belum tau nih pada pemrograman 64 bit istilah untuk integer 64 bit apa yah..
di delphi 7 s yang berbasis 32 bit dah ada n disebut int64
cuma secara default integer di sana dianggap 32 bit beda dengan di pascal yang dianggap 16 bit
n pada delphi yg 64 bit mungkin integer akan dianggap 64 bit, sementara untuk menyebut integer 32 bit ada reserved word lain..(masih butuh klarifikasi)

Online Farabi

  • Profesor
  • *****
  • Tulisan: 2584
  • IQ: 167
  • Gender: Pria
  • Self-Proclaim Judge. All hail safirot.
    • Lihat Profil
Re: Program 'tukar dengan 2 variabel'
« Jawab #11 pada: Oktober 11, 2010, 07:30:23 PM »
64-bit biasa disebut qword.

Offline adisae

  • Dosen
  • ****
  • Tulisan: 304
  • IQ: 8
    • Lihat Profil
Re: Program 'tukar dengan 2 variabel'
« Jawab #12 pada: Oktober 12, 2010, 08:24:08 AM »
secara istilah OK s itu mang berarti 64 bit..

oh ak dah dapet ni..

copas aja..


Byte (1 Byte, Unsigned)
UInt8 (alias for Byte)
ShortInt (1 Byte, Signed)
Int8 (alias for ShortInt)
Word (2 Bytes, Unsigned)
UInt16 (alias for Word)
SmallInt (2 Bytes, Signed)
Int16 (alias for SmallInt)
LongWord (4 Bytes, Unsigned)
UInt32 (alias for LongWord)
LongInt (4 Bytes, Signed)
Int32 (alias for LongInt)
UInt64 (8 Bytes, Unsigned)
Int64 (8 Bytes, Signed)
NativeUInt (Unsigned, depends on CPU register size)
NativeInt (Signed, depends on CPU register size)
Cardinal (Unsigned, depends on OS definition of Integer)
Integer (Signed, depends on OS definition of Integer)

hha ribet banget y..padahal komputer (PC) ga akan berhenti di 64 bit..mungkin beberapa tahun lagi muncul 128 bit, disusul 256 bit dst..

Offline utusan langit

  • Profesor
  • *****
  • Tulisan: 1495
  • IQ: 104
  • Gender: Pria
  • no plan means no future
    • Lihat Profil
    • utusan langit
Re: Program 'tukar dengan 2 variabel'
« Jawab #13 pada: Oktober 12, 2010, 08:37:41 AM »
ah iya, di C kalau kepanjangan angkanya bisa kacau, kalau nggak pake temporary

Offline adisae

  • Dosen
  • ****
  • Tulisan: 304
  • IQ: 8
    • Lihat Profil
Re: Program 'tukar dengan 2 variabel'
« Jawab #14 pada: Oktober 12, 2010, 08:44:22 AM »
mmm maksudna gimana y ??? bisa diperjelas?

 

Copyright © 2006-2011 Forum Sains Indonesia