Program konversi suhu ini, misal kita ingin tahu derajat farenheit dari 100 derajat celcius. Tinggal masukkan "100" maka derajat farenheitnya diketahui yaitu 212 derajat farenheit. Ok, langsung saja, ini dia list scriptnya :
var a,b,c:longint;
procedure ceke;
begin
writeln('masukkan derajat celcius !');
read(b);
c:= b+273;
writeln('derajat kelvinnya adalah ',c);
end;
procedure cere;
begin
writeln('masukkan derajat celcius !');
read(b);
c:=b*4/5;
writeln('derajat reamurnya adalah ',c);
end;
procedure cefa;
begin
writeln('masukkan derajat celcius !');
read(b);
c:=b*9/5+32;
writeln('derajat farenheitnya adalah ',c);
end;
begin
writeln('silahkan pilih konversi yang di inginkan !');
writeln('celcius - kelvin kode = 1');
writeln('celcius - reamur kode = 2');
writeln('celcius - farenheit kode =3');
read(a);
if a=1 then ceke else
if a=2 then cere else
if a=3 then cefa;
end.
Sebenarnya kalau mau lebih luas lagi konversinya, tidak sebatas celcius - kelvin dll, bisa. Tinggal tambah rumusnya ke bagian procedure, tapi karena terlau panjang jadinya penulis cuma memaparkan konversi celcius ke derajat suhu apa saja.
Ok, sekian.
Rabu, 22 Februari 2012
Minggu, 19 Februari 2012
Pascal : program mencari luas persegi,persegi panjang dan segitiga
Ini dia program paling sederhana yang pernah saya post disini (yah, inilah akibat kehabisan bahan posting), cara kerjanya sangat simple, masukkan alas dan tingginya, dan rumusnya bekerja dalam program ok ini dia list scriptnya :
Persegi :
var a,b:integer;
begin
read(a);
b:=a*a;
writeln(b);
end.
Persegi panjang :
var a,b,c:integer;
begin
read(a,b);
c:=a*b;
writeln(c);
end.
Segitiga :
var a,b,c:integer;
begin
read(a,b);
c:=a*b div 2;
writeln(c);
end.
Ok, sekian.
Persegi :
var a,b:integer;
begin
read(a);
b:=a*a;
writeln(b);
end.
Persegi panjang :
var a,b,c:integer;
begin
read(a,b);
c:=a*b;
writeln(c);
end.
Segitiga :
var a,b,c:integer;
begin
read(a,b);
c:=a*b div 2;
writeln(c);
end.
Ok, sekian.
Sabtu, 18 Februari 2012
Pascal : program mencari rata-rata
Ini dia program pascal yang paling berguna untuk ibu guru dan pak guru di sekolah. Tanpa basa-basi lagi ini dia list script :
var a,b,c,d,e,f:longint;
procedure rataan;
begin
f:=e div a;
writeln('jadi, rata-rata semuanya adalah ',f);
end;
begin
writeln('masukkan jumlah data yang ingin di rata-ratakan !');
readln(a);
for b:=1 to a do begin
c:=c+1;
writeln('masukkan data ke-',c);
readln(d);
e:=e+d;
end;
rataan;
end.
Selama membuat program ini, kendala terbesarnya adalah "bagaimana caranya agar data yang di input itu tidak terbatas". Artinya Kita bisa saja menginput jumlah datanya 10 atau berapapun. Dan akhirnya saya menemukan cara yaitu dengan ini :
readln(a);
for b:=1 to a do begin
Untuk script
c:=c+1;
sebenarnya kode itu tidak dipakai juga tidak apa-apa, itu cuma mempermudah dalam menginput data, dengan komentar. Yang lainnya saya rasa tidak perlu di jelaskan lagi, hanya masalah rumus mencari rata-rata.
ok, sekian.
var a,b,c,d,e,f:longint;
procedure rataan;
begin
f:=e div a;
writeln('jadi, rata-rata semuanya adalah ',f);
end;
begin
writeln('masukkan jumlah data yang ingin di rata-ratakan !');
readln(a);
for b:=1 to a do begin
c:=c+1;
writeln('masukkan data ke-',c);
readln(d);
e:=e+d;
end;
rataan;
end.
Selama membuat program ini, kendala terbesarnya adalah "bagaimana caranya agar data yang di input itu tidak terbatas". Artinya Kita bisa saja menginput jumlah datanya 10 atau berapapun. Dan akhirnya saya menemukan cara yaitu dengan ini :
readln(a);
for b:=1 to a do begin
Untuk script
c:=c+1;
sebenarnya kode itu tidak dipakai juga tidak apa-apa, itu cuma mempermudah dalam menginput data, dengan komentar. Yang lainnya saya rasa tidak perlu di jelaskan lagi, hanya masalah rumus mencari rata-rata.
ok, sekian.
pascal : program pembalik kata
Program kali ini sebenarnya prinsipnya hampir sama dengan program yang sebelumnya sudah pernah dibahas di blog ini, yang ada di sini.
Sebagai contoh, kalau kita input "saya bermain" maka yang keluar adalah "niamreb ayas". simple kan
ok, langsung saja, ini dia list scriptnya :
var a,d:string b,c:integer;
begin
read(a);
b:=length(a);
for c:=b downto 1 do begin
d:=d+a[c];
end;
writeln(d);
end.
Sekali lagi, logika dari script di atas sebenarnya sama dengan yang ada di sini
Sebagai contoh, kalau kita input "saya bermain" maka yang keluar adalah "niamreb ayas". simple kan
ok, langsung saja, ini dia list scriptnya :
var a,d:string b,c:integer;
begin
read(a);
b:=length(a);
for c:=b downto 1 do begin
d:=d+a[c];
end;
writeln(d);
end.
Sekali lagi, logika dari script di atas sebenarnya sama dengan yang ada di sini
Jumat, 17 Februari 2012
Pascal : program palindrum
Bagi yang belum tau palindrum itu apa, palindrum itu suatu teks yang walaupun dibaca dari kiri atau kanan bacaannya akan tetap sama. Palindrum bisa juga suatu bilangan. Contoh palindrum teks dan palindrum bilangan adalah "malam' dan "12321". Program yang di buat kali ini adalah program pendeteksi palindrum atau tidak.
ok, langsung saja, ini dia list scriptnya :
var a,d:string; b,c:integer;
begin
read(a)
b:=length(a);
for c:=b downto 1 do begin
d:=d+a[c];
end;
if d=a then writeln( 'palindrum') else writeln('tidak palindrum');
end.
Sebelum memahami script di atas, kita harus terlebih dahulu memahami konsep string dalam pascal. String merupakan kumpulan karakter. Contoh string yang merupakan variabel 'A' :
'terlambat'
ini bisa di uraikan menjadi:
A[1]:t, A[2]:e, A[3]:r, A[4]:l, A[5]:a, A[6]:m, A[7]:b, A[8]:a, A[9]:t
Normalnya, suatu string dalam program akan di baca dari A[1] sampai A[terakhir], dengan mengetahui ciri khas palindrum yang di baca terbalik bacaannya tetap sama, maka kita harus 'memerintahkan' programnya untuk membacanya terbalik, dengan begitu program bisa mendeteksi apakah variabel itu palindrum atau tidak.
Nah, dengan menggunakan formula :
b:=length(a);
for c:=b downto 1 do begin
d:=d+a[c];
Kita bisa memerintahkan program untuk membacanya terbalik, yang hasil bacaannya ada dalam variabel 'd'
Dan fungsi dari :
if d=a then writeln( 'palindrum') else writeln('tidak palindrum')
Hanya untuk menyatakan apakah variabel itu palindrum atau bukan.
ok, sekian.
ok, langsung saja, ini dia list scriptnya :
var a,d:string; b,c:integer;
begin
read(a)
b:=length(a);
for c:=b downto 1 do begin
d:=d+a[c];
end;
if d=a then writeln( 'palindrum') else writeln('tidak palindrum');
end.
Sebelum memahami script di atas, kita harus terlebih dahulu memahami konsep string dalam pascal. String merupakan kumpulan karakter. Contoh string yang merupakan variabel 'A' :
'terlambat'
ini bisa di uraikan menjadi:
A[1]:t, A[2]:e, A[3]:r, A[4]:l, A[5]:a, A[6]:m, A[7]:b, A[8]:a, A[9]:t
Normalnya, suatu string dalam program akan di baca dari A[1] sampai A[terakhir], dengan mengetahui ciri khas palindrum yang di baca terbalik bacaannya tetap sama, maka kita harus 'memerintahkan' programnya untuk membacanya terbalik, dengan begitu program bisa mendeteksi apakah variabel itu palindrum atau tidak.
Nah, dengan menggunakan formula :
b:=length(a);
for c:=b downto 1 do begin
d:=d+a[c];
Kita bisa memerintahkan program untuk membacanya terbalik, yang hasil bacaannya ada dalam variabel 'd'
Dan fungsi dari :
if d=a then writeln( 'palindrum') else writeln('tidak palindrum')
Hanya untuk menyatakan apakah variabel itu palindrum atau bukan.
ok, sekian.
Rabu, 15 Februari 2012
trik photoshop : ganti wajah
Menjadi ini :
baiklah, langsung saja :
Step 1
buka gambar mas-mas random
dan mas-mas random yang bakalan di pake nanti buat ganti wajah yang di atas
Step 2
seleksi wajah mas-mas random ke-2
Step 3
copy dan paste hasil seleksi tadi ke wajah mas-mas random pertama
step 4
klik add layer mask pada layar 1 yang ada di sini
step 5
pastikan foreground anda berwarna hitam dan background and berwarna putih, nah, disinilah inti dari trik ini, dengan menggunakan teknik masking, sekarang pilih brush tool dengan hardness 0%. Sapukan brush toolnya sampai nampak seperti ini ( di gambar ini, saya menurunkan opacity layer 1 untuk memudahkan melakukan sapuan brush tool, nanti setelah ini, bisa di ubah kembali opacity layer 1 menjadi 100%) :
step 6
hampir selesai, nah sekarang tinggal menyesuaikan warnanya
buka image - color balance dan atur warnanya sebagai berikut
cyan = +5
magenta = +18
yellow = -27
sehingga hasilnya akan seperti ini, tarraaa :
yah, kalau banyak kekurangan, mungkin itu semua karena yang buat tutorial ini newbie juga, intinya hanya permainan masking dan color
ok, sekian
Selasa, 14 Februari 2012
pascal : pola segitiga II (kebalikkan dari yang pertama)
Pola yang saya maksud kali ini adalah kebalikan dari pola yang pertama, yang sudah pernah saya bahas sebelumnya di sini.
ok, langsung saja, nanti bentuknya akan seperti ini :
*****
****
***
**
*
ini dia list scriptnya :
var a,b,c,d:integer;
begin
read(a);
c:=a;
for b:=1 to a do begin
for d:=1 to c do begin
write('*');
end;
writeln;
c:=c-1;
end;
end.
Prinsipnya hampir sama seperti yang pertama, yang ada di sini. Yang beda hanya di sini variabel "c" nilainya sama dengan variabel "a" dan yang tadinya variabel "c" di operasikan seperti ini :
c:=c+1;
menjadi ini :
c:=c-1;
ok, sekian
ok, langsung saja, nanti bentuknya akan seperti ini :
*****
****
***
**
*
ini dia list scriptnya :
var a,b,c,d:integer;
begin
read(a);
c:=a;
for b:=1 to a do begin
for d:=1 to c do begin
write('*');
end;
writeln;
c:=c-1;
end;
end.
Prinsipnya hampir sama seperti yang pertama, yang ada di sini. Yang beda hanya di sini variabel "c" nilainya sama dengan variabel "a" dan yang tadinya variabel "c" di operasikan seperti ini :
c:=c+1;
menjadi ini :
c:=c-1;
ok, sekian
pascal : program pola segitiga
Pola segitiga yang saya maksudkan di sini adalah, jika saya menginput 5, maka outputnya adalah :
*
**
***
****
*****
ok, langsung saja, ini dia list scriptnya :
var a,b,c,d:integer;
begin
read(a);
c:=1;
for b:=1 to a do begin
for d:=1 to c do begin
write('*')
end;
writeln;
c:=c+1;
end;
end.
Dalam program ini, saya memakai "for" berlapis agar output "*" ini, nantinya setelah eksekusi pertama, bisa langsung ter-ENTER, dan "*" barupun tercipata di baris baru.
seiring dengan itu, nilai variabel "c" terus beregenerasi akibat operasi
c:=c+1:
sampai for b=1 mencapai nilai "a"
ok, sekian
*
**
***
****
*****
ok, langsung saja, ini dia list scriptnya :
var a,b,c,d:integer;
begin
read(a);
c:=1;
for b:=1 to a do begin
for d:=1 to c do begin
write('*')
end;
writeln;
c:=c+1;
end;
end.
Dalam program ini, saya memakai "for" berlapis agar output "*" ini, nantinya setelah eksekusi pertama, bisa langsung ter-ENTER, dan "*" barupun tercipata di baris baru.
seiring dengan itu, nilai variabel "c" terus beregenerasi akibat operasi
c:=c+1:
sampai for b=1 mencapai nilai "a"
ok, sekian
pascal : program pangkat
Program pangkat yang saya maksudkan disini adalah mencari nilai dari bilangan berpangkat n, contoh : nilai dari 2 pangkat 3 adalah 8 dan 3 pangkat 3 adalah 27. ok, langsung saja, ini dia scriptnya :
var a,bilangan,pangkat:integer;
begin
while not eof do begin
read(bilangan);
read(pangkat);
a:=bilangan;
for a:=2 to pangkat do begin
bilangan:=bilangan*a
end;
writeln(bilangan);
end;
end.
2 pangkat 3 = 2 x 2 x 2. Karena dalam mencari nilai bilangan berpangkat membutuhkan perkalian berkali-kali, maka dalam script di atas di sisipkan LOOPING melalui sub-program "for", yaitu pada bagian
for a:=2 to pangkat do begin
bilangan:=bilangan*a
end;
Dalam "for a:=2 to pangkat do begin", nilai "a" sengaja sama dengan 2, agar pada pangkat 1, sub-program "for" tidak di eksekusi, jadi 3 pangkat 1 nilainya tetap 3, BUKAN 9.
Dan variabel "bilangan" sengaja di duplikat ke variabel "a", agar setelah eksekusi pertama nilai variabel "bilangan" asli yang akan di kalikan secara kontinyu nanti tidak akan berubah, akibat eksekusi dari sub-program "for".
Dan setelah semua eksekusi selesai, maka di tulis nilai variabel "bilangan" yang baru, dan terakhir untuk fungsi
while not eof do begin
Bisa dilihat di sini
ok, sekian.
var a,bilangan,pangkat:integer;
begin
while not eof do begin
read(bilangan);
read(pangkat);
a:=bilangan;
for a:=2 to pangkat do begin
bilangan:=bilangan*a
end;
writeln(bilangan);
end;
end.
2 pangkat 3 = 2 x 2 x 2. Karena dalam mencari nilai bilangan berpangkat membutuhkan perkalian berkali-kali, maka dalam script di atas di sisipkan LOOPING melalui sub-program "for", yaitu pada bagian
for a:=2 to pangkat do begin
bilangan:=bilangan*a
end;
Dalam "for a:=2 to pangkat do begin", nilai "a" sengaja sama dengan 2, agar pada pangkat 1, sub-program "for" tidak di eksekusi, jadi 3 pangkat 1 nilainya tetap 3, BUKAN 9.
Dan variabel "bilangan" sengaja di duplikat ke variabel "a", agar setelah eksekusi pertama nilai variabel "bilangan" asli yang akan di kalikan secara kontinyu nanti tidak akan berubah, akibat eksekusi dari sub-program "for".
Dan setelah semua eksekusi selesai, maka di tulis nilai variabel "bilangan" yang baru, dan terakhir untuk fungsi
while not eof do begin
Bisa dilihat di sini
ok, sekian.
struktur program pascal
Pascal merupakan bahasa pemrograman tingkat tinggi karena bahasanya yang terstruktur. di sebut bahasa tingkat tinggi karena bahasanya yang mudah di mengerti manusia. Ok, sudah cukup pengenalan singkatnya tentang pascal, sekarang kita akan membahas struktur dari bahasa pascal karena tadi sudah di sebutkan bahwa pascal merupakan bahasa yang terstruktur. Strukturnya seperti di bawah ini
program nama
variabel
begin
(statement)
end
Dalam prakteknya, elemen-elemen diatas harus sesuai urutannya, tapi beberapa elemen yang tidak di butuhkan bisa di hilangkan, sebenarnya elemen "nama program" tidak terlalu di butuhkan selain hanya untuk sekedar nama. sebagai contoh "program kosoong" di bawah ini yang beberapa elemen yang di atas di hilangkan
program kosong;
begin
end.
program di atas akan jalan bila di compile tapi tidak akan menghasilkan apa-apa.
ok, sekian.
program nama
variabel
begin
(statement)
end
Dalam prakteknya, elemen-elemen diatas harus sesuai urutannya, tapi beberapa elemen yang tidak di butuhkan bisa di hilangkan, sebenarnya elemen "nama program" tidak terlalu di butuhkan selain hanya untuk sekedar nama. sebagai contoh "program kosoong" di bawah ini yang beberapa elemen yang di atas di hilangkan
program kosong;
begin
end.
program di atas akan jalan bila di compile tapi tidak akan menghasilkan apa-apa.
ok, sekian.
Senin, 13 Februari 2012
pascal : program mencari faktorial
ok, karena ini entri PERDANA saya, jadi maaf kalo bahasanya sedikit kurang di mengerti.
ok langsung saja ke permasalahannya :
faktorial itu sebenarnya saya kurang mengerti definisinya tapi kurang lebih contohnya seperti ini :
5! = 5x4x3x2x1 dan 6! = 6x5x4x3x2x1, seperti itulah dia.
ini dia list scriptnya :
var a,b:integer;
begin
while not eof do begin
read(a);
b:=a;
while b>1 do begin
b:=b-1;
a:=a*b;
end;
writeln(a);
end;
end.
karena untuk mencari faktorial mengalinya harus berkali-kali maka harus menggunakan LOOPING. Looping yang saya maksud adalah di bagian "while" ke bawah sampai bagian "end;".
b:=b-1;
a:=a*b;
perkalian bilangan ini akan dilakukan sampai NILAI B sudah tidak lagi lebih dari 1, dan setelah nilai B di kurangi 1x, maka nilai B yang sudah berubaha tadi langsung di kalikan dengan nilai "a". kemudian kembali lagi ke atas ke bagian
b:=b-1;
kemudian turun kebawah ke bagian
a:=a*b
begitu seterusnya seperti yang sudah di jelaskan tadi sampai nilai B>1.
dan setelah sub-program "while" selesai maka program akan langsung menulis nilai "a" hasil dari eksekusi sub-program "while". oh, yah pada bagian paling atas setelah begin awal :
while not eof do begin
hanya untuk agar setelah memasukkan input dan di enter tidak akan langsung keluar dari programnya (biasanya setelah memasukkan semua input dan di enter programnya langsung keluar dan untuk melihat outputnya harus di compile ulang)
ok, sekian
ok langsung saja ke permasalahannya :
faktorial itu sebenarnya saya kurang mengerti definisinya tapi kurang lebih contohnya seperti ini :
5! = 5x4x3x2x1 dan 6! = 6x5x4x3x2x1, seperti itulah dia.
ini dia list scriptnya :
var a,b:integer;
begin
while not eof do begin
read(a);
b:=a;
while b>1 do begin
b:=b-1;
a:=a*b;
end;
writeln(a);
end;
end.
karena untuk mencari faktorial mengalinya harus berkali-kali maka harus menggunakan LOOPING. Looping yang saya maksud adalah di bagian "while" ke bawah sampai bagian "end;".
b:=b-1;
a:=a*b;
perkalian bilangan ini akan dilakukan sampai NILAI B sudah tidak lagi lebih dari 1, dan setelah nilai B di kurangi 1x, maka nilai B yang sudah berubaha tadi langsung di kalikan dengan nilai "a". kemudian kembali lagi ke atas ke bagian
b:=b-1;
kemudian turun kebawah ke bagian
a:=a*b
begitu seterusnya seperti yang sudah di jelaskan tadi sampai nilai B>1.
dan setelah sub-program "while" selesai maka program akan langsung menulis nilai "a" hasil dari eksekusi sub-program "while". oh, yah pada bagian paling atas setelah begin awal :
while not eof do begin
hanya untuk agar setelah memasukkan input dan di enter tidak akan langsung keluar dari programnya (biasanya setelah memasukkan semua input dan di enter programnya langsung keluar dan untuk melihat outputnya harus di compile ulang)
ok, sekian
Langganan:
Postingan (Atom)







