LANJUTAN MATERI PEMROGRAMAN DASAR
KELAS XI TKJ
B = 100/(5*(2+3));
Solusinya : B = 100/(5*5)
B = 100/25
B = 4
Berikut ini ada lah beberapa contoh pe nulisan ekspresi aritmatika da lam Turbo C.
Contoh :
dituliskan (a+b)/(a-b)
– p*q
dituliskan (a+b/p)/a*b–q
dituliskan (a+b/p)/a*b–q
atau ((a+b/p) /a)*b-q
Dua contoh
yang
terakhir menunjukkan bahwa tanda kurung juga memegang peranan penting
dalam ekspresi aritmatika. Bila
terjadi kesalahan meletakkan kurung, maka ekspresi aritmatika yang dihasilkan kemungkinan besar
akan
memiliki arti
yang brbeda
pula. O leh
karena itu berhati- hatilah (perhatikan (a+b/p)/(a*b)-q memiliki
pengertian
yang berbeda dengan
(a+b/p)/a*b-q).
Kesalahan
semacam ini
seringka li dilakukan oleh para programmer
tanpa disengaja
dan cukup sulit dilacak,
karena
Turbo C tidak akan memberikan pesan
kesalahan selama sintaks pe nulisan ekspresi tadi be nar.
Kesalahan lain
yang juga mung kin
terjadi adalah suatu perkalian variabel yang melupakan tanda kalinya,
misalnya perkalian p dan q yang
seharusnya dituliskan
p*q, dituliskan pq saja.
Untuk kesalahan
semacam ini, Turbo C ada kalanya memberikan pesan kesalahan,
yaitu
bila
tidak mendeklarasika n
suatu variabe l
lain de ngan nama
pq.
Bila kebetulan ada variabe l
dengan
nama pq, mak a tidak aka nada
pesan kesalahan.
3.2.4 O pe rator Pemberi Nilai Aritmatika
Bila ‘=’ dikenal sebagai operator pemberi nilai (assignment operator), ada operator-operator lain sejenis
yang khusus digunakan dalam ekspresi-ekspresi
aritmatika, oleh karena
itu
operator-operator ini
lebih
dike nal seba gai operator
pemberi
nilai
aritmatika (arithmetic
assignment operators). Sebelum melihat apa saja yang
disebut sebagai operator pe mbe ri nilai aritmatika, k ita tinjau dulu sebuah contoh persamaan be rikut ini :
total = total + bilangan ;
Ekspresi semacam
ini sering ka li kita
jumpa i da lam mencari
nilai kumulatif (pe njumlahan)
dari sejumlah nilai tertentu yang banyak
dijumpai dala m loop (program pengulangan).
Bila
Anda pernah
mempelajari suatu bahasa Pemrograman tertentu, tentunya ekspresi semacam ini tidak merupakan suatu hal yang
asing lagi bagi Anda. Di dalam Turbo C, penulisan ekspresi
di atas, dapat disederhanakan
menjadi :
total + = bilanga n;
Notasi ‘+=’ ini dike nal
de ngan
ope rator
pe mberi
nilai aritmatika
(arithmetic assignment
operator).
Operator pemberi nilai selengkapnya dapat Anda lihat pada Tabel 3.1
Tabel 3.1 O perator Pemberi Nilai Aritmatika
OPERATOR
|
ARTI
|
+=
|
Penjumlaha n
|
-=
|
Pengurangan
|
*=
|
Perkalian
|
/=
|
Pembagian
|
%=
|
Sisa
|
Beberapa contoh berikut ini
akan
memberikan gambaran tentang
penggunaan operator-
operator ini.
langkah += 2; langka h = langka h + 2
nilai -=
4.75; nilai = nilai – 4.75
bil *= 12; bil =
bil * 12
bagi
/=
nomor; bagi =
bagi
/ nomor
sisa %=
2; sisa =
sisa % 2
3.2.5 Ope rator Penambah (increment) dan Pengurang (decrement)
Suatu
variabe l
yang nilainya
selal bertambah satu, misalkan seperti
pada sebuah variabel
pencacah
(counter) dengan rumus sebagai berikut ini :
nomor = nomor + 1;
berdasarkan ketentuan
yang telah dijelaskan pada topic sebelumnya, rumus
ini
dapat dituliska n sebagai :
nomor +=
1;
Rumus
di atas sebe narnya merupakan be ntuk
khusus da ri rumus-rumus yang terdapat pada
top ic sebe lumnya (liha t Operator
Pemberi Nilai Aritmatika),
dimana penambahannya selalu
‘1’. Dalam C, rumus di atas ini masih
dapat disederhanakan lagi menjadi :
nomor++
Notasi ‘++’ disebut Operator Penambah (Increment Operator). ‘++’ dapat digunakan baik di
depan
nama variabel, seperti :
++nomor
Ataupun di belakang variabel :
nomor ++
Kedua be ntuk
pe nulisan ini memiliki arti yang
BERBEDA. Bila ‘++’
diletakk an di depa n
nama variabel,
maka proses penambahan akan dilakukan sesaat sebelum atau
langsung pada
saat menjumpai ekspresi ini, sehingga nilai variabel tadi akan langsung berubah begtu
ekpresi
ini ditemuka n. Jika
‘++’ diletakkan di belakang nama
variabel, maka
proses penambahan
akan dilakukan setelah ekspresi ini dijumpai, denga n
ka
ta lain nilai variabe l aka n tetap pada saat ekspresi ini
ditemuka n.
Hal yang serupa juga berlaku untuk
operator pengurang
(decrement
operator). Operator ini
akan mengurangi
nilai variabel dengan 1,setiap prosesnya. Operator
pengurang ini menggunakan
notasi
‘-‘, yang juga dapat diletakkan di
depan
ataupun di
belakang
nama
variabe l, de ngan pe ngertian
yang serupa de ngan op erator pe nambah.
3.2.6 Ope rasi Aritmatika Dari Campuran Tipe Data Yang
Berbeda
Operasi aritmatika dapat dilakukan untuk
campuran berbagai tipe data
yang berbeda. Pada umumnya hasil akhir
akan sesuai dengan tipe
variabel yang akan menyimpan hasil operasi aritmatika ini. Namun
demikian ada berbagai penyimpangan yang patut
diperhatikan,
guna
mencegah terjadinya
kesalahan-kesalahan yang sebenarnya
tidak perlu.
Untuk memberikan gambaran
yang lebih
jelas, ikutilah
beberapa contoh
diba wah ini.
Pertama kita akan meninjau hasil operasi aritmatika
terhadap da ta-data yang bertipe integer, dan
hasil proses akan disimpan kedalam variabel yang bertip e integer juga. Perhatikan contoh
di bawah
ini
:
/* Operasi Aritmatika terhadap Data Integer */
/*
yang hasilnya disimpan ke dalam variabel integer
*/
main()
{
int
bil1=5,b il2=3,b il3,b il4,b il5, bil6;
clrscr();
bil3=bil1+bil2; bil4=bil1-bil2; bil5=bil1*b il2;
bil6=bil1/bil2;
printf("\n%4d + %4d = %4d",bil1,bil2,bil3);
printf("\n%4d - %4d = %4d",bil1,bil2,bil4);
printf("\n%4d * %4d = %4d",bil1,bil2,bil5);
printf("\n%4d / %4d
= %4d",bil1,bil2,bil6);
}
Output program ini ada lah
:
5 + 3 = 8
5 – 3 = 2
5 * 3 = 15
5 / 3 = 1
Semua hasil dari
ope rasi
aritmatika
ini ada lah
integer. Untuk penjumlahan,
selisih,
da n
perkalian tidak ada hal yang aneh, namun
untuk pembagian yang hasilnya
bukan berupa
bilangan
bulat, hasil tadi aka n
selalu dibulatkan kebawah. Seba gai contoh kita
liha t
dari
proses d i atas :
5
/ 3 seharusnya 1.666667 disini dibulatka n menjadi 1
contoh lain :
6 / 3 hasilnya 2 (tidak
dibulatkan lagi karena hasilnya memang sudah berupa bilangan bulat)
11/4 seharusnya 2.75
disini
aka n dibulatka n menjadi 2
Sekarang kita akan meninjau
operasi aritmatika dari data-data yang bertipe
integer, namun
hasilnya akan disimpan kedalam variabel yang bertipe float.
/*
Operasi Aritmatik a terhadap Data Integer */
/*
yang hasilnya disimpan ke dalam variabel float */
main()
{
int bil1=1000,bil2=3;
float bil3,b il4,b il5,b il6;
clrscr();
bil3=bil1+bil2;
bil4=bil1-bil2; bil5=bil1*b il2;
bil6=bil1/bil2;
printf("\n%4d + %4d = %4f",bil1,bil2,bil3);
printf("\n%4d - %4d = %4f",bil1,bil2,bil4);
printf("\n%4d * %4d = %4f",bil1,bil2,bil5);
printf("\n%4d / %4d
= %4f",bil1,bil2,bil6);
}
Outputnya
:
1000 + 3 = 1003.000000
1000 – 3 = 997.000000
1000 * 3 = 3000.000000
1000 / 3 = 333.000000
Bila kita pelajari output diatas,
untuk penjumlahan, selisih, dan perkalian tidak ada hal yang
aneh, hanya semua hasilnya
sekarang
dituliskan
dalam bentuk floating
point dengan
menampilka n d esimalnya. Untuk pembagian ada
sedikit
keanehan, ternyata
hasilnya tetap dibulatkan
menjadi integer, hanya ditampilkan dalam bentuk
decimal (ada 6 angka dibelakang
titik decimal ). Dari sini
dapat disimpulkan bahwa pembagian
dari dua jenis data integer yang disimpan kedalam variabel float tetap
akan memberikan hasil integer yang dituliskan dalam
bentuk desimal. Untuk
operasi aritmatika terhadap
data-data yang bertipe campuran, integer dan float, ya ng hasilnya aka n
disimpa n
dalam variabe l integer.
/* Operasi Aritmatika terhadap Data Campuran */
/*
yang hasilnya disimpan ke dalam variabel integer */
main()
{
int bil1=1000,bil3,bil4,bil5,bil6;
float bil2=3.5 ;
clrscr();
bil3=bil1+bil2; bil4=bil1-bil2; bil5=bil1*b il2;
bil6=bil1/bil2;
printf("\n%4d + %f =
%d",bil1,bil2,bil3);
printf("\n%4d - %f = %d",b il1,b il2,b il4) ;
printf("\n%4d * %f =
%d",bil1,bil2,bil5);
printf("\n%4d / %f = %d",bil1,bil2,bil6);
}
Outputnya
:
1000 + 3.500000
= 1003
1000 – 3.500000 = 996
1000 * 3.500000
= 3500
1000 / 3.500000 = 285
Berikutnya adalah ope rasi aritmatika terhadap da ta campuran yang
aka n disimpa n keda lam variabe l floa t.
/* Operasi Aritmatika terhadap Data Campuran */
/*
yang hasilnya disimpan ke dalam variabel floa t */
main()
{
int bil1=1000;
float bil2=3.5,bil3,bil4,bil5,bil6;
clrscr();
bil3=bil1+bil2;
bil4=bil1-bil2;
bil5=bil1*b il2; bil6=bil1/bil2;
printf("\n%4d + %f =
%f",bil1,bil2,bil3);
printf("\n%4d - %f = %f",bil1,b il2,b il4) ;
printf("\n%4d * %f =
%f",bil1,bil2,bil5);
printf("\n%4d / %f = %f",bil1,bil2,bil6);
}
Outputnya
:
1000 + 3.500000 = 1003.500000
1000 – 3.500000 = 996.500000
1000 * 3.500000
= 3500.000000
1000 / 3.500000 = 285.714294
Dari
sini
dapat
disimpulkan,
bila
ingin memperoleh hasil
float yang benar, tanpa adanya
pe mbulatan menjadi integer, maka
minimum salah
satu suku
atau faktor
yang terd apat da lam
operasi aritmatika harus bertipe float, dan
hasil operasi
ini harus disimpan dalam
variabe l float
pula. Hal
ini perlu diperhatikan terutama
untuk pembagian. Dari contoh-contoh yang telah diberika n diatas, dapa t disimpulkan bahwa dalam operasi aritmatika, operasi pembagian sering
memberikan hasil yang kadang-kadang
sedikit
aneh.
Ada dua hal yang perlu kita perhatikan dalam operasi pembagian
ini
:
1. Untuk pe mba gian
integer, yaitu bila pe mbilang
dan pe nyebut kedua-duanya be rbe ntuk
integer, maka hasilnya aka n integer.
Contoh : 125/100 = 1
15/20 = 0
2. Untuk pembagian campuran,
yaitu bila pembilang atau penyebut
atau kedua-duanya merupakan float, maka hasilnya akan
menjadi float juga.
Contoh :
|
125.0/100
|
= 1.250000
|
|
15/20.0
|
= 0.750000
|
|
3.25/6.50
|
= 0.500000
|
LATIHAN SOAL-SOAL
DESAIN SISTEM
KEAMANAN JARINGAN
SMK MUHAMMADIYAH MUHAMMADIYAH BOBOTSARI
TANGGAL 6 SEPTEMBER 2014
1. Gambarkan
pyramida metodologi keamanan!
2. Pembagian hak
akses seperti user account
“ADMINISTRATOR” dan “USER”, apa perbedaannya?
3. Apakah perbedaan Virus, Worm dan
Trojan Horse?
4. Apakah fungsi gambar tersebut yang terdapat pada control panel?
5. Mengapa pasword yang kuat terdiri dari karakter Kombinasi HURUF dan
ANGKA?
6. Apakah perbedaan
paket
filtering gateway dengan circuit
level gateway?
7. Apakah
perbedaan paket aplication
level gateway dengan statefull packet
filter based firewall?
8. Apakah yang dimaksud dengan
ancaman jaringan komputer Packet Sniffer?
9. Apakah kode ASCII itu?
10. Tuliskan
nama Anda masing2 dengan Kode ASCII!
11. Mengapa dalam membuat password menggunakan kombinasi angka dengan huruf lebih aman?
12. Apakah tujuan
utama Firewall?
13. Sebutkan Konsep 4R dalam system keamanan jaringan!
14. Sebutkan masalah baru setelah adanya keterbukaan informasi?
15. Sebutkan kelebihan dan kekurangan software firewall!
16. Apa yang dimaksud
dengan WAP pada system kemanan
jaringan wireless LAN?
17. Bagaimana batasan hak akses user account
pada “Guest”?
18. Sebutkan teknologi firewall dalam system keamanan jaringan!
19. Sebutkan kelebihan dan kekurangan hardware firewall!
20. Apa perbedaan SNAT dan DNAT?
21. Proses yang terjadi pada firewall “Translasi Alamat Jaringan” apa maksudnya?
22. Dalam Internet banking menggunakan “server based token autethentication”. Apa
maksudnya?
23. Apakah perbedaan terminologi enkripsi dan deskripsi?
24. Apakah perbedaan public network dan private network?
25. Desainlah jaringan komputer server-client yang terdiri dari 1 server dan 2 client
dengan menggunakan ip public dan ip local yang terhubung ke internet, dengan cara
IPTABLES SNAT dan
DNAT!
26. Apakah yang kamu ketahui tentang KODE ASCII?
27. Apakah yang dimaksud
dengan port dalam sebuah jaringan
TCP/IP?
28. Apakah perbedaan
antara hacker dan cracker?
29. Apakah yang kamu ketahui tentang Terminologi Kriptografi?
30. Apakah yang kamu ketahui tentang Arsitektur Sistem Keamanan AIRIDS?