Rabu, 16 November 2016

INSTALASI JARINGAN CLIENT SERVER

INSTALASI JARINGAN CLIENT SERVER

Judul                                     : INSTALASI JARINGAN CLIENT SERVER
Tujuan                  :
1.       Mahasiswa dapat memahami proses pembangunan jaringan dengan model client server
2.       Mahasiswa dapat melakukan pengecekan koneksi antara client dan server ataupun sebaliknya
3.       Dapat mengkonfigurasi client untuk penggunaan shared folder/file/data secara bersama yang ada di server
Alat dan Bahan  :
·         1 unit computer
·         Kabel utp
·         Konektor rj-45
·         HUB
·         Lanstester
Dasar  Teori        :
Client-Server adalah arsitektur jaringan yang memisahkan client(biasanya aplikasi yang menggunakan GUI ) dengan server. Masing-masing client dapat meminta data atau informasi dari server.  Dalam model klien/server, sebuah aplikasi dibagi menjadi dua bagian yang terpisah, tapi masih merupakan sebuah kesatuan yakni komponen klien dan komponen server. Komponen klien juga sering disebut sebagai front-end, sementara komponen server disebut sebagai back-end.
1.       Client
User akan membuat permintaan melalui software client. Aplikasi ini berfungsi :
  • Memberikan interface bagi user untuk melakukan jobs.
  • Format request data ke bentuk yang dapat dimengerti oleh server
  • Menampilkan hasil yang diminta pada layar
2.       Server
Jaringan client atau server, server khusus digunakan untuk pemrosesan, penyimpanan dan manajemen data. Server bertugas menerima request dari client, mengolahnya, dan mengirimkan kembali hasilnya ke client.
Untuk itu, server membutuhkan komputer khusus dengan spesifikasi hardware yang jauh lebih baik dan bertenaga dibandingkan hardware untuk client karena komputer harus mampu melayani :
·         Request secara simultan dalam jumlah besar
·         Aktivitas manajemen jaringan
·         Menjamin keamanan pada resource jaringan
Keuntungan yang di peroleh dengan terhubungnya computer satu dengan yang lainnya dalam sebuah jaringan dengan menggunakan protocol TCP/IP,tidak hanya sebatas pemakaian piranti secara bersamaan namun dapat juga di gunakan untuk berkomunikasi antara satu client dengan client yang lain.Hal ini terjadi karena adanya pemanfaatan lapisan socket yang tersedia. Salah satu aplikasi pendukung pengiriman pesan adalah winpopup. Dimana pada aplikasi ini pemakai dapat mengirimkan pesan pada computer yang di tuju dengan terlebih dahulu mengisikan nama host yang diinginkan atau dapat juga menuliskan IP addresnya.di peroleh dengan adanya jaringan computer ini. Disamping itu folder/file yang tersimpan dapat di manfaatkan oleh computer lain. Model yang demikian disebut dengan data terdistribusi,artinya folder/file tersebar di berbagai client. Dengan kata lain fasilitas ini disebut pemakaian folder secara terpusat. Salah satu masalahnya adalah keamanan foldr/file tersebut, untuk menanggulangi masalah tersebut folder/file yang di sharing di proteksi keamanannya dengan menggunakan password.Masing-masing client ataupun server dapat menset password melalui komputernya masing-masing.










Langkah kerja dan Pembahasan :


1. Save sebelum melakukan setting ip,masuk ke command prompt
Ketik “ ipconfig” kemudian enter.
2. Melakukan setting ip dengan urutan sebagai berikut :
· Klik START – masuk ke control panel
· Masuk ke Network Connection
· Klik Local Area Connection
· Pada tab General – pilih internet protocol (TCP/IP) – properties
· Pada tab General – pilih Use the Following IP addres
· Isikan no IP addres ; no subnet masuk ; Default gateway
· Lalu pilih juga Use the following DNS server addres – isikan sesuai no DNS server yang di gunakan – Preferred DNS server ; Alternate server
Dengan konfigurasi IP sebagai berikut :
Ø Hubungkan PC anda dengan HUB / SWITCH dengan kabel utp yang telah ada atau kabel straight
Ø Lakukan tes koneksi ke PC klompok lain dengan perintah “ping ip-PC kelompok lain” di command prompt.
Ø Di command prompt ketikkan perintah “ipconfig”
Ø Shared folder data,masuk ke windows explorer pilih salah satu folder data kemudian klik kanan satu kali dan pilih properties kemudian klik sharing. Dengan perintah tersebut kita telah melakukan shared folder untuk network kita.
Ø Untuk menggunakan folder yang te;ah di shared kita bias mengetikkan perintah di explorer atau run program \\ip-dari-komputer-yang-shared-folderAgar folder yang di shared dapat terlihat di computer kita sebagai hdd, ketikkan perintah “net use x : \\ip-pc\folder-yang-di-shared” di command prompt.






Setting conference antar PC dalam network
  1. Jika mempunyai suatu jaringan yang mana computer satu dengan yang lain dapat saling berkomunikasi, kita bias setting PC windows kita conference dengan PC lain. Sehingga antar PC yang melakukan conference dapat saling memantau aktifitas.
  2. Untuk memulai setting conference di mulai dari memanggil aplikasi netmeeting dengan langkah sebagai berikut :
Masuk RUN Panel kemudian ketik conf 




Selanjutnya tekan OK akan muncul jendela
Klik Next,kemudian isi informasi tentang anda
Pilih cek pada Log on a directory server when NetMeeting starts artinya ketika kita membuka aplikasi NetMeeting, secara otomatis komputer akan menghubungi NetMeeting pada komputer server atau Do not list my name in the directory untuk abaikan. Klik Next.

Pilih opsi Local Area Network kemudian klik Next.
Centang Local Area Network, lalu next.
  Beri tanda cek pada Put a shortcut to NetMeeting on my desktop, klik Next.

Tampil dialog Audio Tuning Wizard. Klik Next lagi untuk melanjutkan.
Selanjutnya akan tampil dialog Audio Tuning Wizard. Pada bagian Volume, atur sesuai dengan kebutuhan. Kemudian klik Next
Disini tes dari perangkat sound yang ada dalam PC yang akan di gunakan conference
Pada bagian Record volume, atur sesuai dengan kebutuhan, klik Next.

Ø Klik Next lagi.
Ø Klik Finish untuk mengakhiri.
Maka akan muncul jendela seperti dibawah ini dan tinggal melakukan conference dengan computer lain yang telah di setting NeetMeeting dalam network yang sama

CARA MENGHITUNG IP ADDRESS

Cara menghitung IP Address, Subnet mask dan Net ID

Konsep Subnetting
Subnetting adalah termasuk materi yang banyak keluar di ujian CCNA dengan berbagai variasi soal. Juga menjadi momok bagi student atau instruktur yang sedang menyelesaikan kurikulum CCNA 1 program CNAP (Cisco Networking Academy Program). Untuk menjelaskan tentang subnetting, saya biasanya menggunakan beberapa ilustrasi dan analogi yang sudah kita kenal di sekitar kita. Artikel ini sengaja saya tulis untuk rekan-rekan yang sedang belajar jaringan, yang mempersiapkan diri mengikuti ujian CCNA, dan yang sedang mengikuti pelatihan CCNA 1.
Sebenarnya subnetting itu apa dan kenapa harus dilakukan? Pertanyaan ini bisa dijawab dengan analogi sebuah jalan. Jalan bernama Gatot Subroto terdiri dari beberapa rumah bernomor 01-08, dengan rumah nomor 08 adalah rumah Ketua RT yang memiliki tugas mengumumkan informasi apapun kepada seluruh rumah di wilayah Jl. Gatot Subroto.
Ketika rumah di wilayah itu makin banyak, tentu kemungkinan menimbulkan keruwetan dan kemacetan. Karena itulah kemudian diadakan pengaturan lagi, dibuat gang-gang, rumah yang masuk ke gang diberi nomor rumah baru, masing-masing gang ada Ketua RTnya sendiri-sendiri. Sehingga ini akan memecahkan kemacetan, efiesiensi dan optimalisasi transportasi, serta setiap gang memiliki previledge sendiri-sendiri dalam mengelola wilayahnya. Jadilah gambar wilayah baru seperti di bawah:
Konsep seperti inilah sebenarnya konsep subnetting itu. Disatu sisi ingin mempermudah pengelolaan, misalnya suatu kantor ingin membagi kerja menjadi 3 divisi dengan masing-masing divisi memiliki 15 komputer (host). Disisi lain juga untuk optimalisasi dan efisiensi kerja jaringan, karena jalur lalu lintas tidak terpusat di satu network besar, tapi terbagi ke beberapa ruas-ruas gang. Yang pertama analogi Jl Gatot Subroto dengan rumah disekitarnya dapat diterapkan untuk jaringan adalah seperti NETWORK ADDRESS (nama jalan) dan HOST ADDRESS (nomer rumah). Sedangkan Ketua RT diperankan oleh BROADCAST ADDRESS (192.168.1.255), yang bertugas mengirimkan message ke semua host yang ada di network tersebut.
Masih mengikuti analogi jalan diatas, kita terapkan ke subnetting jaringan adalah seperti gambar di bawah. Gang adalah SUBNET, masing-masing subnet memiliki HOST ADDRESS dan BROADCAST ADDRESS.
Terus apa itu SUBNET MASK? Subnetmask digunakan untuk membaca bagaimana kita membagi jalan dan gang, atau membagi network dan hostnya. Address mana saja yang berfungsi sebagai SUBNET, mana yang HOST dan mana yang BROADCAST. Semua itu bisa kita ketahui dari SUBNET MASKnya. Jl Gatot Subroto tanpa gang yang saya tampilkan di awal bisa dipahami sebagai menggunakan SUBNET MASK DEFAULT, atau dengan kata lain bisa disebut juga bahwa Network tersebut tidak memiliki subnet (Jalan tanpa Gang). SUBNET MASK DEFAULT ini untuk masing-masing Class IP Address adalah sbb:
CLASS OKTET PERTAMA SUBNET MAS DEFAULT PRIVATE ADDRESS
A 1-127 255.0.0.0 10.0.0.0-10.255.255.255
B 128-191 255.255.0.0 172.16.0.0-172.31.255.255
C 192-223 255.255.255.0 192.168.0.0-192.168.255.255
Perhitungan Subnetting
Setelah memahami konsep Subnetting dengan baik. Kali ini saatnya anda mempelajari teknik penghitungan subnetting. Penghitungan subnetting bisa dilakukan dengan dua cara, cara binary yang relatif lambat dan cara khusus yang lebih cepat. Pada hakekatnya semua pertanyaan tentang subnetting akan berkisar di empat masalah: Jumlah Subnet, Jumlah Host per Subnet, Blok Subnet, dan Alamat Host- Broadcast.
Penulisan IP address umumnya adalah dengan 192.168.1.2. Namun adakalanya ditulis dengan 192.168.1.2/24, apa ini artinya? Artinya bahwa IP address 192.168.1.2 dengan subnet mask 255.255.255.0. Lho kok bisa seperti itu? Ya, /24 diambil dari penghitungan bahwa 24 bit subnet mask diselubung dengan binari 1. Atau dengan kata lain, subnet masknya adalah: 11111111.11111111.11111111.00000000 (255.255.255.0). Konsep ini yang disebut dengan CIDR (Classless Inter-Domain Routing) yang diperkenalkan pertama kali tahun 1992 oleh IEFT.
Pertanyaan berikutnya adalah Subnet Mask berapa saja yang bisa digunakan untuk melakukan subnetting? Ini terjawab dengan tabel di bawah:
Subnet Mask Nilai CIDR
255.128.0.0 /9
255.192.0.0 /10
255.224.0.0 /11
255.240.0.0 /12
255.248.0.0 /13
255.252.0.0 /14
255.254.0.0 /15
255.255.0.0 /16
255.255.128.0 /17
255.255.192.0 /18
255.255.224.0 /19
Subnet Mask Nilai CIDR
255.255.240.0 /20
255.255.248.0 /21
255.255.252.0 /22
255.255.254.0 /23
255.255.255.0 /24
255.255.255.128 /25
255.255.255.192 /26
255.255.255.224 /27
255.255.255.240 /28
255.255.255.248 /29
255.255.255.252 /30
 SUBNETTING PADA IP ADDRESS CLASS C
Ok, sekarang mari langsung latihan saja. Subnetting seperti apa yang terjadi dengan sebuah NETWORK ADDRESS 192.168.1.0/26 ?
Analisa: 192.168.1.0 berarti kelas C dengan Subnet Mask /26 berarti 11111111.11111111.11111111.11000000 (255.255.255.192).
Penghitungan: Seperti sudah saya sebutkan sebelumnya semua pertanyaan tentang subnetting akan berpusat di 4 hal, jumlah subnet, jumlah host per subnet, blok subnet, alamat host dan broadcast yang valid. Jadi kita selesaikan dengan urutan seperti itu:
  1. Jumlah Subnet = 2x, dimana x adalah banyaknya binari 1 pada oktet terakhir subnet mask (2 oktet terakhir untuk kelas B, dan 3 oktet terakhir untuk kelas A). Jadi Jumlah Subnet adalah 22 = 4 subnet
  2. Jumlah Host per Subnet = 2y – 2, dimana y adalah adalah kebalikan dari x yaitu banyaknya binari 0 pada oktet terakhir subnet. Jadi jumlah host per subnet adalah 26 – 2 = 62 host
  3. Blok Subnet = 256 – 192 (nilai oktet terakhir subnet mask) = 64. Subnet berikutnya adalah 64 + 64 = 128, dan 128+64=192. Jadi subnet lengkapnya adalah 0, 64, 128, 192.
  4. Bagaimana dengan alamat host dan broadcast yang valid? Kita langsung buat tabelnya. Sebagai catatan, host pertama adalah 1 angka setelah subnet, dan broadcast adalah 1 angka sebelum subnet berikutnya.
Subnet 192.168.1.0 192.168.1.64 192.168.1.128 192.168.1.192
Host Pertama 192.168.1.1 192.168.1.65 192.168.1.129 192.168.1.193
Host Terakhir 192.168.1.62 192.168.1.126 192.168.1.190 192.168.1.254
Broadcast 192.168.1.63 192.168.1.127 192.168.1.191 192.168.1.255
Kita sudah selesaikan subnetting untuk IP address Class C. Dan kita bisa melanjutkan lagi untuk subnet mask yang lain, dengan konsep dan teknik yang sama. Subnet mask yang bisa digunakan untuk subnetting class C adalah seperti di bawah. Silakan anda coba menghitung seperti cara diatas untuk subnetmask lainnya.
Subnet Mask Nilai CIDR
255.255.255.128 /25
255.255.255.192 /26
255.255.255.224 /27
255.255.255.240 /28
255.255.255.248 /29
255.255.255.252 /30
 SUBNETTING PADA IP ADDRESS CLASS B
Berikutnya kita akan mencoba melakukan subnetting untuk IP address class B. Pertama, subnet mask yang bisa digunakan untuk subnetting class B adalah seperti dibawah. Sengaja saya pisahkan jadi dua, blok sebelah kiri dan kanan karena masing-masing berbeda teknik terutama untuk oktet yang “dimainkan” berdasarkan blok subnetnya. CIDR /17 sampai /24 caranya sama persis dengan subnetting Class C, hanya blok subnetnya kita masukkan langsung ke oktet ketiga, bukan seperti Class C yang “dimainkan” di oktet keempat. Sedangkan CIDR /25 sampai /30 (kelipatan) blok subnet kita “mainkan” di oktet keempat, tapi setelah selesai oktet ketiga berjalan maju (coeunter) dari 0, 1, 2, 3, dst.
Subnet Mask Nilai CIDR
255.255.128.0 /17
255.255.192.0 /18
255.255.224.0 /19
255.255.240.0 /20
255.255.248.0 /21
255.255.252.0 /22
255.255.254.0 /23
255.255.255.0 /24
Subnet Mask Nilai CIDR
255.255.255.128 /25
255.255.255.192 /26
255.255.255.224 /27
255.255.255.240 /28
255.255.255.248 /29
255.255.255.252 /30
Ok, kita coba dua soal untuk kedua teknik subnetting untuk Class B. Kita mulai dari yang menggunakan subnetmask dengan CIDR /17 sampai /24. Contoh network address 172.16.0.0/18.
Analisa: 172.16.0.0 berarti kelas B, dengan Subnet Mask /18 berarti 11111111.11111111.11000000.00000000 (255.255.192.0).
Penghitungan:
  1. Jumlah Subnet = 2x, dimana x adalah banyaknya binari 1 pada 2 oktet terakhir. Jadi Jumlah Subnet adalah 22 = 4 subnet
  2. Jumlah Host per Subnet = 2y – 2, dimana y adalah adalah kebalikan dari x yaitu banyaknya binari 0 pada 2 oktet terakhir. Jadi jumlah host per subnet adalah 214 – 2 = 16.382 host
  3. Blok Subnet = 256 – 192 = 64. Subnet berikutnya adalah 64 + 64 = 128, dan 128+64=192. Jadi subnet lengkapnya adalah 0, 64, 128, 192.
  4. Alamat host dan broadcast yang valid?
Subnet 172.16.0.0 172.16.64.0 172.16.128.0 172.16.192.0
Host Pertama 172.16.0.1 172.16.64.1 172.16.128.1 172.16.192.1
Host Terakhir 172.16.63.254 172.16.127.254 172.16.191.254 172.16.255.254
Broadcast 172.16.63.255 172.16.127.255 172.16.191.255 172.16..255.255
Berikutnya kita coba satu lagi untuk Class B khususnya untuk yang menggunakan subnetmask CIDR /25 sampai /30. Contoh network address 172.16.0.0/25.
Analisa: 172.16.0.0 berarti kelas B, dengan Subnet Mask /25 berarti 11111111.11111111.11111111.10000000 (255.255.255.128).
Penghitungan:
  1. Jumlah Subnet = 29 = 512 subnet
  2. Jumlah Host per Subnet = 27 – 2 = 126 host
  3. Blok Subnet = 256 – 128 = 128. Jadi lengkapnya adalah (0, 128)
  4. Alamat host dan broadcast yang valid?
Subnet 172.16.0.0 172.16.0.128 172.16.1.0 172.16.255.128
Host Pertama 172.16.0.1 172.16.0.129 172.16.1.1 172.16.255.129
Host Terakhir 172.16.0.126 172.16.0.254 172.16.1.126 172.16.255.254
Broadcast 172.16.0.127 172.16.0.255 172.16.1.127 172.16.255.255
Masih bingung juga? Ok sebelum masuk ke Class A, coba ulangi lagi dari Class C, dan baca pelan-pelan
SUBNETTING PADA IP ADDRESS CLASS A
Kalau sudah mantab dan paham, kita lanjut ke Class A. Konsepnya semua sama saja. Perbedaannya adalah di OKTET mana kita mainkan blok subnet. Kalau Class C di oktet ke 4 (terakhir), kelas B di Oktet 3 dan 4 (2 oktet terakhir), kalau Class A di oktet 2, 3 dan 4 (3 oktet terakhir). Kemudian subnet mask yang bisa digunakan untuk subnetting class A adalah semua subnet mask dari CIDR /8 sampai /30.
Kita coba latihan untuk network address 10.0.0.0/16.
Analisa: 10.0.0.0 berarti kelas A, dengan Subnet Mask /16 berarti 11111111.11111111.00000000.00000000 (255.255.0.0).
Penghitungan:
  1. Jumlah Subnet = 28 = 256 subnet
  2. Jumlah Host per Subnet = 216 – 2 = 65534 host
  3. Blok Subnet = 256 – 255 = 1. Jadi subnet lengkapnya: 0,1,2,3,4, etc.
  4. Alamat host dan broadcast yang valid?
Subnet
  1. 0.0.0
  2. 1.0.0
 
  1. 254.0.0
  2. 255.0.0
 
Host Pertama
  1. 0.0.1
  2. 1.0.1
 
  1. 254.0.1
  2. 255.0.1
 
Host Terakhir
  1. 0.255.254
  2. 1.255.254
 
  1. 254.255.254
  2. 255.255.254
 
Broadcast
  1. 0.255.255
  2. 1.255.255
 
  1. 254.255.255
  2. 255.255.255
 
Mudah-mudahan sudah setelah anda membaca paragraf terakhir ini, anda sudah memahami penghitungan subnetting dengan baik. Kalaupun belum paham juga, anda ulangi terus artikel ini pelan-pelan dari atas. Untuk teknik hapalan subnetting yang lebih cepat, tunggu di artikel berikutnya
Catatan: Semua penghitungan subnet diatas berasumsikan bahwa IP Subnet-Zeroes (dan IP Subnet-Ones) dihitung secara default. Buku versi terbaru Todd Lamle dan juga CCNA setelah 2005 sudah mengakomodasi masalah IP Subnet-Zeroes (dan IP Subnet-Ones) ini. CCNA pre-2005 tidak memasukkannya secara default (meskipun di kenyataan kita bisa mengaktifkannya dengan command ip subnet-zeroes), sehingga mungkin dalam beberapa buku tentang CCNA serta soal-soal test CNAP, anda masih menemukan rumus penghitungan Jumlah Subnet = 2x – 2

IP PUBLIC DAN IP PRIVATE

IP PUBLIC dan IP PRIVATE


1.    Pengertian IP Public dan IP Private
a). IP Public
IP Public adalah IP address yang telah ditetapkan oleh InterNIC  dan berisi beberapa buah network ID yang dijamin unik yang digunakan untuk lingkup internet, host yang menggunakan IP public dapat diakses oleh seluruh user yang tergabung diinternet baik secara langsung maupun tidak langsung (melalui proxy/NAT). IP Addressing juga dikelompokkan berdasarkan negara, Indonesia umumnya dimulai dengan kepala 202 & 203. Contoh : P Public adalah akses Speedy modem yang merupakan IP Public 125.126.0.1
b). IP Private
IP Private adalah IP address yang digunkan untuk lingkup intranet, host yang menggunakan IP Private hanya bisa diakses di linkup intranet saja.  Contoh : IP private akses di LAN modem menggunakan IP Private 192.168.1.1
  
2.   Perbedaan IP Private dan IP Public

a). IP Public
Sebuah alamat IP Public yang ditugaskan untuk setiap komputer yang terhubung pada internet dimana setiap IP adalah unik. Maka akan tidak bisa ada dua komputer dengan alamat IP Public yang sama dalam seluruh Internet. Skema pengalamatan memungkinkan komputer untuk “menemukan satu sama lain” dan melakukan pertukaran informasi. Pengguna tidak memiliki kontrol atas alamat IP (Public) yang diberikan ke komputer. Alamat IP Public ditugaskan untuk komputer oleh Internet Service Provider secara langsung setelah komputer terhubung ke gateway Internet. Sebuah alamat IP Public dapat berupa statis atau dinamis. Sebuah alamat IP public static tidak dapat berubah dan digunakan terutama untuk hosting halaman Web atau layanan di Internet. Di sisi lain sebuah alamat IP Public yang dinamis dipilih dari sebuah pool yang tersedia pada alamat dan perubahan masing-masing terjadi satu kali untuk menghubungkan ke Internet. Sebagian besar pengguna internet hanya akan memiliki IP dinamis yang bertugas untuk setiap komputer. Ketika terjadi disconnetted atau jaringan terputus apabila menghubungkannya kembali maka otomatis akan mendapat IP baru.
b). IP Private
Sebuah alamat IP dianggap pribadi jika nomor IP termasuk dalam salah satu rentang alamat IP untuk jaringan pribadi seperti Local Area Network (LAN). Internet Assigned Numbers Authority (IANA) telah mereservd tiga blok berikut ruang alamat IP untuk jaringan pribadi (jaringan lokal) :
~  Kelas A : 10.0.0.0 – 10.255.255.255 (Total Addresses: 16,777,216)
~  Kelas B : 172.16.0.0 – 172.31.255.255 (Total Addresses: 1,048,576)
~  Kelas C : 192.168.0.0 – 192.168.255.255 (Total Addresses: 65,536)
~  Kelas D : 224.0.0.0 – 239.255.255.255
~  Kelas E : 24-.0.0.0 – 255.255.255.255
Alamat IP  Private/Pribadi yang digunakan untuk penomoran komputer dalam jaringan pribadi termasuk rumah, sekolah dan LAN bisnis di bandara dan hotel yang memungkinkan komputer dalam jaringan untuk berkomunikasi satu sama lain. Katakanlah misalnya, jika jaringan X terdiri dari 10 komputer masing-masing dapat diberikan IP mulai dari 192.168.1.1 ke 192.168.1.10. Berbeda dengan IP publik, administrator jaringan pribadi bebas untuk menetapkan alamat IP dari pilihannya sendiri (disediakan nomor IP  pada kisaran alamat IP pribadi seperti yang disebutkan di atas). Perangkat dengan alamat IP private tidak dapat terhubung langsung ke Internet. Demikian juga, komputer di luar jaringan lokal tidak dapat terhubung langsung ke perangkat dengan IP pribadi. Hal ini dimungkinkan untuk menghubungkan dua jaringan pribadi dengan bantuan router atau perangkat serupa yang mendukung Network Address Translation. Jika jaringan pribadi yang terhubung ke Internet (melalui koneksi Internet melalui ISP) maka setiap komputer akan memiliki IP swasta maupun IP publik. Private IP dipakai untuk komunikasi dalam jaringan dimana IP publik digunakan untuk komunikasi melalui Internet. Kebanyakan pengguna internet dengan koneksi DSL / ADSL akan memiliki Ip seperti IP publik.
IP Address dibagi menjadi 5 kelas, yaitu kelas A – E, namun yang hanya digunakan adalah kelas A, B & C karena kelas D & E digunakan untuk keperluan khusus.
Cara mudah membedakan kelas A, B & C :

1. Kelas A –> kelompok pertama dimulai dari 0000 0000 (0) –> range IP 0 – 127 dan memiliki host maksimum sebanyak 16.777.214
2. Kelas B –> kelompok pertama dimulai dari 1000 0000 (128) –> range IP 128 – 191 dan memiliki host maksimum sebanyak 65.534
3. Kelas C –> kelompok pertama dimulai dari 1100 0000 (192) –> range IP 192 – 223 dan memiliki host maksimum sebanyak 254

IP Addressing juga dikelompokkan berdasarkan negara, Indonesia umumnya dimulai dengan kepala 202 & 203

Tiap kelas memiliki 1 slot yang berfungsi sebagai IP Private :
1. Kelas A –> IP 10.x.x.x
2. Kelas B –> IP 172.16.x.x sampai 172.30.x.x
3. Kelas C –> IP 192.168.x.x

IP 127.0.0.1 juga tidak boleh digunakan sebagai IP Public karena berfungsi untuk Local Loop atau L

PEMOGRAMAN BAHASA C

DASAR BAHASA PEMROGRAMAN BORLAND C++

Dasar Bahasa Pemrograman C++
Dasar Bahasa Pemrograman C++














SUBSTANSI :
1. PROSES KOMPILASI
2. STRUKTUR PROGRAM C++
  • #include, 
  • void, main(),
  • Blok pernyataan, 
  • cout, 
  • clrscr();
  • Komentar
3. ELEMEN DASAR DALAM C++ 
  • Pengenal (Identifier),
  • Tipe Data Dalam C++, 
  • Variabel dan Konstanta, 
  • Operator dan ungkapan, 
  • Input dalam C++
  • Manipulator 

1. PROSES KOMPILASI

Program C++ ditulis dengan ekstensi .cpp. Agar dapat dieksekusi atau dijalankan, maka program harus dikompilasi terlebih dahulu menggunakan compiler C++. Proses kompilasinya adalah; file sumber (.cpp) bersama dengan file header (.h) diterjemahkan dulu oleh kompiler C++ sehingga menjadi kode objek (.obj), format file objek ini adalah biner (berkode 0 dan 1). Selanjutnya semua file objek bersama dengan file pustaka (.lib) dikaitkan menjadi satu oleh linker dan hasilnya adalah file Executable.
Gb. proses pembentukan file executable
Gb. proses pembentukan file executable

2. STRUKTUR PROGRAM C++

#include <nama_file>
void main()
{
<blok_pernyataan>
}

#include

Adalah pengarah praprosesor yang berfungsi menginstruksikan kepada kompiler untuk menyisipkan file, saat program dikompilasi. Biasanya file yang disisipkan adalah file header.


void di depan main()

Dipakai untuk menyatakan bahwa fungsi main() tidak memiliki nilai balik.


main()

Merupakan fungsi utama yang menjadi awal dan akhir eksekusi program C++.

Tanda ()

Digunakan untuk mengapit argumen fungsi, yaitu nilai yang akan dilewatkan ke fungsi.

Blok pernyataan

Blok pernyataan bisa terdiri dari satu atau beberapa statemen dan diakhiri dengan tanda (;) sebagai contoh saat mendeklarasikan 3 buah variabel dengan tipe data yang sama, seperti; int a, b, c;

Contoh program :
#include <iostream.h>
#include <conio.h>

/**
*gatewan.com
*Wawan Beneran
*Program yang mengandung blok pernyataan
*/

void main()
{
clrscr(); //membersihkan layar
cout << "Selamat Belajar C++\n";
getch();
}

Hasil eksekusi :
Blok Pernyataan
Blok Pernyataan
Untuk mengkompile program dengan menggunakan borland C++ dapat dilakukan dengan menekan tombol Ctrl + F9 atau tombol ini :

cout (dibaca "c out")

Merupakan objek dalam C++ yang digunakan untuk mengarahkan data ke standar output (layar). 

Tanda <<

Dua tanda kurang dari adalah operator “penyisipan/peletakan” yang akan mengarahkan operand (data) yang terletak di sebelah kanannya ke objek yang terletak di sebelah kirinya. 
Pada contoh di atas, “Selamat Belajar C++\n” diarahkan ke cout, yang memberikan hasil berupa tampilan string tersebut ke layar. \n adalah karakter pindah baris (new line).

#include < iostream.h >

Menginstruksikan kepada kompiler untuk menyisipkan file iostream.h pada saat program dikompilasi tanpa diakhiri titik koma. File iostream.h perlu disertakan pada program yang melibatkan cout. Tanpa # include < iostream.h > akan terjadi kesalahan saat program dikompilasi. Sebab file iostream.h berisi deklarasi yang diperlukan oleh cout dan berbagai objek yang berhubungan dengan operasi masukan–keluaran.


clrscr();

Pernyataan yang diperlukan untuk menghapus layar. Apabila menggunakan pernyataan ini maka harus disertakan file header conio.h.


Komentar

Diperlukan untuk menjelaskan / memberikan anotasi terkait program atau bagian-bagian dalam program. Isi penjelasan biasanya berupa:
  • Tujuan/fungsi program
  • Saat program dibuat/direvisi
  • Keterangan-keterangan lain tentang kegunaan sejumlah pernyataan dalam program

Prosedur komentar pada pemrograman C++ memiliki 2 cara yaitu;

a. Diawali tanda // (dua tanda garis miring), Semua tulisan setelah tanda // dianggap sebagai komentar dan tidak akan dieksekusi oleh C++.

b. Diawali tanda /* blok komentar dan diakhiri tanda */, Untuk memberikan komentar lebih dari 1 baris, namun, biasanya bentuk ini sering dimanfaatkan untuk mengabaikan / menonaktifkan sejumlah baris program atau pernyataan yang telah dibuat karena suatu alasan.
Contoh program :
#include <iostream.h>
#include <conio.h>

/**
*gatewan.com
*Wawan Beneran
*Program yang mengandung komentar
*/

void main()
{
clrscr(); //membarsihkan layar <--- ini adalah komentar
// teks ini sampai akhir baris tidak akan pernah dieksekusi <--- ini adalah komentar
cout << "Selamat Belajar C++\n";
getch();
}

3. ELEMEN DASAR DALAM C++

3.1 Pengenal (Identifier)

Pengenal merupakan nama yang akan digunakan dalam pemrogrman yang biasa digunakan untuk menyatakan variabel, konstanta, tipe data, fungsi, label, obyek serta hal-hal lain yang dibuat oleh pemrogram.
Suatu pengenal merupakan kombinasi dari huruf, angka dan garis bawah (_). Penamaan pengenal harus berawalan dengan huruf atau garis bawah dan menggunakan kata yang mudah dipahami dan dapat mewakili fungsi dari pengenal yang dibuat. Pengenal dalam C++ bersifat sensitive case atau dibedakan antara huruf kecil dan huruf besar. Misalkan pengenal gajipokok, GajiPokok, GAJIPOKOK, merupakan tiga buah pengenal yang berbeda.

3.2 Tipe Data Dalam C++

Mengenai tipe data, Anda bisa baca selengkapnya di sini :
PENGERTIAN TIPE DATA, VARIABEL DAN KONSTANTA

Contoh program :
#include <iostream.h>
#include <conio.h>

/**
*gatewan.com
*Wawan Beneran
*Program yang mengandung tipe data dalam c++
*/

void main()
{
clrscr();
char huruf;
huruf = 'B';
cout<<"Isi huruf bertipe char = "<<huruf<<'\n';
int angka;
angka = 123;
cout<<"Isi angka bertipe int = "<<angka<<'\n';
long jumlah;
jumlah = 12345678;
cout<<"Isi jumlah bertipe long = "<<jumlah<<'\n';
float nilai;
nilai = 234.543;
cout<<"Isi nilai bertipe float = "<<nilai<<'\n';
double cacah;
cacah = 3453.345;
cout<<"Isi cacah bertipe double = "<<cacah<<'\n';
long double total;
total = 23456.3945;
cout<<"Isi total bertipe long double = "<<total<<'\n';
getch();
}
Hasil Eksekusi :
Tipe Data C++
Tipe Data C++

3.3 Variabel dan Konstanta

Dalam proses pemrograman tipe data biasa digunakan untuk mendefinisikan suatu variabel atau konstanta. Variabel adalah suatu memori yang dialokasikan dengan nama tertentu dan hanya bisa menampung data sesuai dengan tipe yang ditentukan. Sifat dari variabel adalah nilai yang dikandung akan mudah diubah sesuai dengan proses yang terjadi seperti contoh dibawah ini. Sedangkan konstanta adalah suatu memori yang dialokasikan dengan nama tertentu yang berisi suatu nilai yang memiliki sifat tetap yang tidak akan bisa berubah.
Sebelum variabel digunakan maka variabel tersebut harus didefinisikan terlebih dahulu. Pendefinisian variabel dapat dimana saja sebelum variabel itu digunakan dengan bentuk :
tipevariabel namavariabel;

Untuk memasukkan nilai kedalam variabel digunakan bentuk :

variabel = nilai;

Contoh program :
#include <iostream.h>
#include <conio.h>

/**
*gatewan.com
*Wawan Beneran
*Program yang mengandung pemasukkan nilai pada variabel
*/

void main()
{
int bilangan; //Mendefinisikan variabel bilangan bertipe int
bilangan = 10; //Memberikan nilai 10 pada variabel bilangan
clrscr();
cout<<"Isi bilangan = "<<bilangan<<'\n';
bilangan = 50;
cout<<"Isi bilangan = "<<bilangan<<'\n';
getch();
}
Hasil eksekusi :
Variabel
Variabel
Untuk mendeklarasikan konstanta digunakan bentuk :

const tipedata namakonstanta = nilaikonstanta;

Contoh program :
#include <iostream.h>
#include <conio.h>

/**
*gatewan.com
*Wawan Beneran
*Program yang mengandung konstanta
*/

void main()
{
const float phi = 3.14;
int jari = 11;
float luas;
clrscr();
luas = phi * jari * jari;
cout<<"Luas lingkaran = "<<luas<<'\n';
getch();
}
Hasil eksekusi :
Konstanta
Konstanta
Dalam C++ dikenal adanya pemodifikasian variabel menggunakan unsigned dan signed. Variabel yang ditambahi unsigned akan menyebabkan nilai yang dikandung variabel benilai positif, sedangkan signed tidak menyebabkan perubahan nilai dari data yang dikandung (sama dengan nilai data dasar).
Modifikasi Tipe Data
Persamaan
Jangkauan Nilai
unsigned char
tidak ada
0 s/d 225
unsigned int
unsigned
0 s/d 65.535
unsigned short int
unsigned short
0 s/d 65.535
unsigned long int
unsigned long
0 s/d 4.294.967.295
signed char
char
-128 s/d 127
signed int
int
-32.768 s/d32.767
signed short int
short, signed short
-32.768 s/d32.767
signed long int
long, long int, signed long
-2.147.483.648 s/d 2.147.483.687
Untuk memahami lebih dalam, simak obeservasi  di bawah ini;

3.4 Operator dan ungkapan

Operator merupakan simbol yang akan digunakan untuk melakukan suatu operasi atau manipulasi. Untuk menghasilkan suatu nilai operator harus menerima operand. Sedangkan ungkapan merupakan gabungan antara operator dengan operand yang menghasilkan nilai ungkapan, contoh :
6 + 10 – 4
Pada ungkapan diatas terdiri dari dua operator yaitu + (penjumlahan) dan - (pengurangan) dan tiga operand yaitu 6, 10 dan 4, nilai ungkapan diatas adalah 12.

Operator Aritmatika
Operator
Keterangan
Contoh
*
Perkalian
10 * 5
/
Pembagian
20 / 4
%
Sisa pembagian (modulus)
22 % 3
+
Penjumlahan
5 + 6
-
Pengurangan
8 - 4

Contoh program :
#include<iostream.h>
#include<conio.h

/**
*gatewan.com
*Wawan Beneran
*Penggunaan operator aritmatika
*/

void main()
{
int d,b,a,c;
b = 7;
a = 5;
c = 2;
d = b * b - 4 * a * c;
cout<<"Nilai d = "<<d<<'\n';
//mencari sisa bagi
int sisa;
sisa = 20 % 3;
cout<<"Sisa 20 % 3 = "<<sisa<<'\n';
getch();
}
Hasil eksekusi :
Operator Aritmatika
Operator Aritmatika
Operator Penugasan
Operator penugasan menggunakan simbol sama dengan (=) yang berfungsi untuk memberikan nilai pada suatu variabel. Contoh penggunaan operator penugasan dalam C++ :
Contoh
Keterangan
y = 4 + ( a = 7 );
Variabel a diberi nilai 7, lalu y diisi nilai ungkapan 4 + 7
a = b = c = d = e = 10;
Pertama e diisi dengan 10, lalu d diisi dengan nilai e, lalu c diisi dengan nilai d, dan a diisi dengan nilai b.
Contoh program :
#include<iostream.h>
#include<conio.h>

/**
*gatewan.com
*Wawan Beneran
*Penggunaan operator penugasan
*/

void main()
{
int a,b,c,d,e;
a = b = c = d = e = 100;
cout<<"Isi a = "<<a<<'\n';
cout<<"Isi b = "<<b<<'\n';
cout<<"Isi c = "<<c<<'\n';
cout<<"Isi d = "<<d<<'\n';
cout<<"Isi e = "<<e<<'\n';
int x,y;
x = 10 * (y = 3);
cout<<"Isi x = "<<x<<'\n';
getch();
}
Hasil eksekusi :
Operator Penugasan
Operator Penugasan
Operator penaikkan (increment) dan penurunan (decrement)
Digunakan untuk menaikkan dan menurunkan nilai variabel yang bertipe bilangan bulat. Bentuk operator ini adalah ++ (penaikkan) dan -- (penurunan). Sebagai contoh :
x = x + 1;
y = y - 1;

Dapat ditulis :

y--;
x++;

atau

--y;
++x;

Contoh program:
#include<iostream.h>
#include<conio.h>

/**
*gatewan.com
*Wawan Beneran
*Penggunaan operator penaikkan dan penurunan
*/

void main()
{
int a,b,c;
a = 15;
//variabel a dinaikkan 1 baru dijumlahkan dengan 10
b = 10 + ++a;
cout<<"Isi b = "<<b<<'\n';
//variabel b dijumlahkan dengan 10 baru b dinaikkan 1
c = 10 + b++;
cout<<"Isi b = "<<b<<'\n';
cout<<"Isi c = "<<c<<'\n';
getch();
}

Hasil eksekusi :
C++ Operator Penaikan dan Penurunan
C++ Operator Penaikan dan Penurunan
Operator bitwise
Digunakan untuk memanipulasi bilangan biner
Operator
Keterangan
Contoh
<< 
Geser bit ke kiri
10 << 3
>> 
Geser bit ke kanan
10 >> 3
&
Bitwise and
10 & 3
|
Bitwise or
10 | 3
^
Bitwise xor
10 ^ 3
~
Bitwise not
~ 10

Prioritas operator bitwise
Prioritas
Operator
Tinggi
~
Normal
<<  >>
&
^
Rendah
|

Contoh program :
#include<iostream.h>
#include<conio.h>

/**
*gatewan.com
*Wawan Beneran
*Penggunaan operator bitwise
*/

void main()
{
unsigned long a,b,x;
a = 50;
b = 3;
x = a << b;
cout<<"Hasil "<<a<<" << "<<b<<" = "<<x<<'\n';
x = a >> b;
cout<<"Hasil "<<a<<" >> "<<b<<" = "<<x<<'\n';
x = a & b;
cout<<"Hasil "<<a<<" & "<<b<<" = "<<x<<'\n';
x = a | b;
cout<<"Hasil "<<a<<" | "<<b<<" = "<<x<<'\n';
x = a ^ b;
cout<<"Hasil "<<a<<" ^ "<<b<<" = "<<x<<'\n';
x = ~a;
cout<<"Hasil ~"<<a<<" = "<<x<<'\n';
getch();
}

Hasil eksekusi :
C++ Operator Bitwise
C++ Operator Bitwise
Operator majemuk
Operator majemuk digunakan untuk memendekkan penulisan suatu penugasan.
x = x + 5;
y = y – 8;

Dapat ditulis :
x += 5;

y -= 8;

Contoh program :
#include<iostream.h>
#include<conio.h>

/**
*gatewan.com
*Wawan Beneran
*Penggunaan operator majemuk
*/

void main()
{
int a;
a = 20;
cout<<"Nilai a sekarang = "<<a<<'\n';
a += 5;
cout<<"Nilai a += 5 sekarang = "<<a<<'\n';
a -= 3;
cout<<"Nilai a -= 3 sekarang = "<<a<<'\n';
a *= 2;
cout<<"Nilai a *= 2 sekarang = "<<a<<'\n';
a %= 3;
cout<<"Nilai a %= 3 sekarang = "<<a<<'\n';
a <<= 1; //a = a << 1;
cout<<"Nilai a <<= 1 sekarang = "<<a<<'\n';
a >>= 1; //a = a >> 1;
cout<<"Nilai a >>= 1 sekarang = "<<a<<'\n';
getch();
}

Hasil eksekusi :
C++ Operator Majemuk
C++ Operator Majemuk
Operator Relasi
Operator relasi digunakan untuk membandingkan dua buah nilai, yang hasilnya berupa nilai 1 jika benar dan nalai 0 jika salah.
Operator
Keterangan
==
Sama dengan (bukan penugasan)
!=
Tidak sama dengan
Lebih kecil
Lebih besar
<=
Lebih kecil atau sama dengan
>=
Lebih besar atau sama dengan

Contoh program :
#include<iostream.h>
#include<conio.h>

/**
*gatewan.com
*Wawan Beneran
*Penggunaan operator relasi
*/

void main()
{
int a,b,hasil;
a = 45;
b = 25;
hasil = a == b;
cout<<"Hasil relasi "<<a<<" == "<<b<<" = "<<hasil<<'\n';
hasil = a != b;
cout<<"Hasil relasi "<<a<<" != "<<b<<" = "<<hasil<<'\n';
hasil = a > b;
cout<<"Hasil relasi "<<a<<" > "<<b<<" = "<<hasil<<'\n';
hasil = a < b;
cout<<"Hasil relasi "<<a<<" < "<<b<<" = "<<hasil<<'\n';
hasil = a >= b;
cout<<"Hasil relasi "<<a<<" >= "<<b<<" = "<<hasil<<'\n';
hasil = a <= b;
cout<<"Hasil relasi "<<a<<" <= "<<b<<" = "<<hasil<<'\n';
getch();
}

Hasil eksekusi :
C++ Operator Relasi
C++ Operator Relasi
Operator Logika
Operator logika digunakan untuk menghubungkan dua buah kondisi menjadi sebuah kondisi.
Contoh program :
#include<iostream.h>
#include<conio.h>

/**
*gatewan.com
*Wawan Beneran
*Penggunaan operator logika
*/

void main()
{
int hasil;
cout<<"Operator logika && (dan)"<<'\n';
hasil = (5 > 2) && (4 > 3);
cout<<"Hasil logika (5 > 2) && (4 > 3)= "<<hasil<<'\n';
hasil = (5 < 2) && (4 > 3);
cout<<"Hasil logika (5 < 2) && (4 > 3)= "<<hasil<<'\n';
hasil = (5 > 2) && (4 < 3);
cout<<"Hasil logika (5 > 2) && (4 < 3)= "<<hasil<<'\n';
hasil = (5 < 2) && (4 < 3);
cout<<"Hasil logika (5 > 3) && (4 > 3)= "<<hasil<<'\n';
cout<<"\nOperator logika || (atau)"<<'\n';
hasil = (5 > 2) || (4 > 3);
cout<<"Hasil logika (5 > 2) || (4 > 3)= "<<hasil<<'\n';
hasil = (5 < 2) || (4 > 3);
cout<<"Hasil logika (5 < 2) || (4 > 3)= "<<hasil<<'\n';
hasil = (5 > 2) || (4 < 3);
cout<<"Hasil logika (5 > 2) || (4 < 3)= "<<hasil<<'\n';
hasil = (5 < 2) || (4 < 3);
cout<<"Hasil logika (5 > 3) || (4 > 3)= "<<hasil<<'\n';
cout<<"\nOperator logika !"<<'\n';
hasil = !(5 > 2);
cout<<"Hasil logika !(5 > 2) = "<<hasil<<'\n';
hasil = !(5 < 2);
cout<<"Hasil logika !(5 < 2) = "<<hasil<<'\n';
getch();
}

Hasil eksekusi :
C++  Operator Logika
C++  Operator Logika
Operator Kondisi
Operator kondisi digunakan untuk mendapatkan sebuah nilai dari dua kemungkinan berdasarkan suatu kondisi. Bentuk operator kondisi :
Ungkapan1?ungkapan2:ungkapan3

Jika ungkapan1 diuji bernilai benar maka hasilnya adalah ungkapan2, jika salah maka hasilnya adalah ungkapan3.

Contoh program:
#include<iostream.h>
#include<conio.h>

/**
*gatewan.com
*Wawan Beneran
*Penggunaan operator kondisi
*/

void main()
{
int angka1, angka2, maks;
angka1 = 70;
angka2 = 90;
maks = (angka1 > angka2)?angka1:angka2;
cout<<"Angka terbesar = "<<maks<<'\n';
getch();
}

Hasil eksekusi :
C++ Operator Kondisi
C++ Operator Kondisi

3.5 Input dalam C++


1. cout (dibaca C out)
Merupakan obyek dalam C++ yang berfungsi untuk menampilkan data ke standar output (layar). Objek cout sudah banyak digunakan pada contoh-contoh didepan yang digunakan untuk menampilkan hasil ke layar.

Bentuk :

cout << var;

2. cin (dibaca C in)
Merupakan obyek dalam C++ yang berfungsi untuk membaca data dari keyboard.
Bentuk :

cin >> var;

Berfungsi membaca data dari keyboard dan memasukkan dalam variabel bernama var.

Contoh program :
#include<iostream.h>
#include<conio.h>

/**
*gatewan.com
*Wawan Beneran
*Penggunaan cin
*/

void main()
{
int angka;
char huruf;
cout<<"Masukkan angka : ";
cin>>angka;
cout<<"Masukkan sebuah huruf : ";
cin>>huruf;
cout<<"\nAngka yang anda masukkan : "<<angka<<'\n';
cout<<"Huruf yang anda masukkan : "<<huruf<<'\n';
getch();
}

Hasil eksekusi :
C++ Cin
C++ Cin
cin >> tidak dapat digunakan untuk membaca karakter Spasi atau Tab, jika akan dibaca tombol tersebut dunakan fungsi getch().

3. Fungsi getch() dan getche() 
Fungsi getch() dan getche() digunakan untuk membaca tanpa perlu menekan enter, selain itu fungsi ini juga dapat membaca tombol Spasi dan Enter.

Bentuk :
karakter = getch();
karakter = getche();

Apabila fungsi getch() dan getche() disertakan maka header conio.h perlu disertakan. Fungsi getch() tidak menampilkan karakter dari tombol yang ditekan, sedangkan getche() menampilkan karakter dari tombol yang ditekan.

Contoh program :
#include<iostream.h>
#include<conio.h>

/**
*gatewan.com
*Wawan Beneran
*Penggunaan getch() dan geche()
*/

void main()
{
char kar1, kar2;
cout<<"Tekan sembarang karakater : ";
kar1 = getch();
cout<<"\nTekan sembarang karakater : ";
kar2 = getche();
cout<<"\n\nKarakter pertama : "<<kar1<<'\n';
cout<<"Karakter kedua : "<<kar2<<'\n';
getch();
}

Hasil eksekusi :
C++ getch dan getche
C++ getch dan getche

3.6 Manipulator

Manipulator digunakan untuk mengatur tampilan data pada layar. Beberapa manipular dalam C++ :

1. Manipulator endl
Manipulator endl digunakan untuk menyisipkan karakter ganti baris (newline). Manipulator ini identik dengan karakter ’\n’.
Contoh program :
#include<iostream.h>
#include<conio.h>

/**
*gatewan.com
*Wawan Beneran
*Penggunaan endl
*/

void main()
{
int angka1 = 100;
int angka2 = 5000;
float total = 12323.8;
cout<<"Isi angka 1 : "<<angka1<<endl;
cout<<"Isi angka 2 : "<<angka2<<endl;
cout<<"Isi angka 2 : "<<total<<endl;
getch();
}

Hasil eksekusi :
C++ endl
C++ endl
2. Manipulator setw()
Manipulator setw() digunakan untuk mengatur lebar tampilan data pada layar. Jika anda akan mengatur tampilan data pada layar maka perlu disertakan header iomanip.h.

Contoh program :
#include<iostream.h>
#include<conio.h>
#include<iomanip.h>

/**
*gatewan.com
*Wawan Beneran
*Penggunaan setw()
*/

void main()
{
int angka = 1005;
cout<<setw(0)<<angka<<endl;
cout<<setw(4)<<angka<<endl;
cout<<setw(7)<<angka<<endl;
getch();
}

Hasil eksekusi :
C++ setw
C++ setw
3. Manipulator setfill()
Manipulator setfill() digunakan untuk mengatur karakter yang diisikan pada field yang ditentukan oleh setw() yang tidak digunakan untuk menampilkan data.


Contoh program :
#include<iostream.h>
#include<conio.h>
#include<iomanip.h>

/**
*gatewan.com
*Wawan Beneran
*Penggunaan setw() dan setfill()
*/

void main()
{
int angka = 1005;
cout<<setw(0)<<setfill('*')<<angka<<endl;
cout<<setw(4)<<setfill('*')<<angka<<endl;
cout<<setw(6)<<setfill('*')<<angka<<endl;
cout<<setw(8)<<setfill('*')<<angka<<endl;
getch();
}

Hasil eksekusi :
C++ setfill
C++ setfill
4. Manipulator dec, oct dan hex
Manipulator dec, oct dan hex digunakan untuk menampilkan data dalam bentuk desimal (basis 10), oktal (basis 8), dan heksadesimal (basis 16).
Contoh program :
#include<iostream.h>
#include<conio.h>
#include<iomanip.h>

/**
*gatewan.com
*Wawan Beneran
*Penggunaan dec, oct dan hex
*/

void main()
{
int x = 150;
cout<<"Nilai x : "<<x<<endl;
cout<<"Nilai x dalam oktal : "<<oct<<x<<endl;
cout<<"Nilai x dalam heksadesimal : "<<hex<<x<<endl;
cout<<"Nilai x dalam desimal : "<<dec<<x<<endl;
getch();
}

Hasil eksekusi :
C++ dec, oct dan hex
C++ dec, oct dan hex
5. Manipulor setiosflags()
Manipulor setiosflags() merupakan manipulator yang dapat dipakai untuk mengontrol sejumlah tanda format sebagai berikut :
Tanda Format
Keterangan
ios::left
Menyetel rata kiri terhadap lebar field yang diatur melalui setw()
ios::right
Menyetel rata kanan terhadap lebar field yang diatur melalui setw()
ios::scientifie
Memformat keluaran dalam notasi eksponensial
ios::fixed
Memformat keluaran dalam bentuk notasi desimal
ios::dec
Memformat keluaran dalam basis 10 (desimal)
ios::oct
Memformat keluaran dalam basis 8 (oktal)
ios::hex
Memformat keluaran dalam basis 16 (heksadesimal)
ios::uppercase
Memformat huruf pada notasi heksadesimal dalam bentuk huruf kapital
ios::showbase
Menampilkan awalan 0x untuk bilangan heksadesimal atau 0 (nol) untuk bilangan oktal
ios::showpoint
Menampilkan titik desimal pada bilangan pecahan yang tidak memiliki bagian pecahan
ios::showpos
Untuk menampilkan tanda + pada bilangan positif
Contoh program :
#include<iostream.h>
#include<conio.h>
#include<iomanip.h>

/**
*gatewan.com
*Wawan Beneran
*Penggunaan setiosflags()
*/

void main()
{
int x = 520;
cout<<"x ditampilkan dengan ios::left "<<endl;
cout<<setiosflags(ios::left)<<setw(10)<<x<<endl<<endl;
cout<<"x ditampilkan dengan ios::right "<<endl;
cout<<setiosflags(ios::right)<<setw(10)<<x<<endl<<endl;
float y = 123.456;
cout<<"y ditampilkan dengan ios::fixed "<<endl;
cout<<setiosflags(ios::fixed)<<y<<endl<<endl;
cout<<resetiosflags(ios::fixed);
cout<<"y ditampilkan dengan ios::scientific "<<endl;
cout<<setiosflags(ios::scientific)<<y<<endl<<endl;
cout<<resetiosflags(ios::scientific);
int bil = 51;
cout<<"Tanpa ios::showbase : "<<endl;
cout<<oct<<bil<<endl;
cout<<dec<<bil<<endl;
cout<<hex<<bil<<endl;
cout<<"Dengan ios::showbase : "<<endl;
cout<<setiosflags(ios::showbase);
cout<<oct<<bil<<endl;
cout<<hex<<bil<<endl;
cout<<dec<<bil<<endl;
cout<<"\nDengan ios::uppercase untuk heksadesimal : "<<endl;
cout<<setiosflags(ios::uppercase)<<bil<<endl;
cout<<resetiosflags(ios::showbase);
cout<<resetiosflags(ios::uppercase);
float a = 234.00;
cout<<"\nTanpa ios::showpoint : "<<endl;
cout<<a<<endl<<endl;
cout<<"Dengan ios::showpoint : "<<endl;
cout<<setiosflags(ios::showpoint)<<a<<endl;
cout<<resetiosflags(ios::showpoint);
int b = 27;
cout<<"\nTanpa ios::showpos : "<<endl;
cout<<b<<endl<<endl;
cout<<"Dengan ios::showpos : "<<endl;
cout<<setiosflags(ios::showpos)<<b<<endl;
cout<<resetiosflags(ios::showpos);
getch();
}

Hasil eksekusi :
setiosflags()
C++ setiosflags()
6. Manipulator resetiosflags()
Manipulator resetiosflags() digunakan untuk mengembalikan ke bentuk format awal setelah adanya penggunaan manipulator, misalnya :

setiosflags(ios::left)

telah digunakan , maka untuk kembali ke bentuk awal bisa digunakan :

resetiosflags(ios::left)

Contoh program :
#include<iostream.h>
#include<conio.h>
#include<iomanip.h>

/**
*gatewan.com
*Wawan Beneran
*Penggunaan resetiosflags()
*/

void main()
{
int x = 12340;
cout<<"Ditampilkan dengan ios::right "<<endl;
cout<<setiosflags(ios::left)<<setw(10)<<x<<endl<<endl;
cout<<"Setelah dilakukan resetiosflags(ios::right)"<<endl;
cout<<resetiosflags(ios::left);
cout<<setw(10)<<x<<endl<<endl;
getch();
}

Hasil eksekusi :
C++ resetiosflags()
C++ resetiosflags()
7. Manipulator setprecision()
Manipulator setprecision() digunakan untuk mengatur jumlah digit pecahan yang akan ditampilkan pada bilangan pecahan.
Bentuk :
setprecision(n)
Dengan n adalah jumlah digit yang ingin ditampilkan
Contoh program:
#include<iostream.h>
#include<conio.h>
#include<iomanip.h>

/**
*gatewan.com
*Wawan Beneran
*Penggunaan setprecision()
*/

void main()
{
float y = 12.340;
cout<<setiosflags(ios::fixed);
cout<<setprecision(0)<<y<<endl;
cout<<setprecision(1)<<y<<endl;
cout<<setprecision(2)<<y<<endl;
cout<<setprecision(3)<<y<<endl;
cout<<setprecision(4)<<y<<endl;
cout<<setprecision(5)<<y<<endl;
getch();
}

Hasil eksekusi :
C++ setprecision()
C++ setprecision()