Sunday, December 14, 2014

REMIDIAL Pak lintang 2014 SMKN2 Singosari

JARINGAN DASAR


Jenis-Jenis Jaringan
PAN (Personal Area Network)
Personal area network (PAN) adalah jaringan komunikasi satu perangkat lain dengan perangkat lainnya dalam jarak yang sangat dekat. Misalnya antara komputer yang dihubungkan dengan Personal Digital Assistance (PDA), telepon seluler, laptop, dan lain sebagainya. PAN ini dapat digunakan untuk komunikasi antara suatu perangkat dengan perangkat yang lainnya ataupun penghubung antara device dengan jaringan yang lebih luas lagi seperti internet misalnya. Untuk membuat jaringan PAN ini, biasanya dengan menghubungkan melalui bus yang ada pada komputer seperti USB ataupun firewire. Selain itu PAN ini juga dapat dibuat dengan media wireless atau biasa disebut WPAN (Wireless PAN) dengan menggunakan media perantara IrDA (gelombang infra merah), bluetooth, UWB, Z-Wave, dan ZigBee.
Jaringan Komputer Dasar
Contoh pengaplikasian WPAN
(sumber gambar: http://techno-kifamona.blogspot.com)
LAN (Local Area Network)
LAN adalah jaringan komputer yang jaringannya hanya mencakup wilayah kecil. misalnya jaringan komputer kampus, gedung, kantor, rumah, sekolah, atau yang lebih kecil. Saat ini, kebanyakan LAN berbasis pada teknologi IEEE 802.3 Ethernet menggunakan perangkat switch, yang mempunyai kecepatan transfer data 10, 100, atau 1000 Mbit/s. Selain teknologi Ethernet, saat ini teknologi 802.11b (atau biasa disebut Wi-fi) juga sering digunakan untuk membentuk LAN. Tempat-tempat yang menyediakan koneksi LAN dengan teknologi Wi-fi biasa disebut hotspot.
Pada sebuah LAN, setiap node atau komputer mempunyai daya komputasi sendiri, berbeda dengan konsep dump terminal. Setiap komputer juga dapat mengakses sumber daya yang ada di LAN sesuai dengan hak akses yang telah diatur. Sumber daya tersebut dapat berupa data atau perangkat seperti printer. Pada LAN, seorang pengguna juga dapat berkomunikasi dengan pengguna yang lain dengan menggunakan aplikasi yang sesuai. LAN mempunyai karakteristik sebagai berikut:
  • Mempunyai pesat data yang lebih tinggi
  • Meliputi wilayah geografi yang lebih sempit
  • Tidak membutuhkan jalur telekomunikasi yang disewa dari operator telekomunikasi
Biasanya salah satu komputer diantara jaringan komputer itu akan digunakan menjadi server yang mengatur semua sistem di dalam jaringan tersebut.
Ilustrasi LAN (sumber: http://lukmanreza.blogspot.com/)
Ilustrasi LAN
(sumber: http://lukmanreza.blogspot.com/)
MAN (Metropolitan Area Network)
MAN meliputi area yang lebih besar dari LAN, misalnya antar gedung dalam suatu daerah (wilayah seperti propinsi atau negara bagian). Dalam hal ini jaringan menghubungkan beberapa buah jaringan kecil ke dalam lingkungan area yang lebih besar, sebagai contoh yaitu: jaringan beberapa kantor cabang sebuah bank di dalam sebuah kota besar yang dihubungkan antara satu dengan lainnya.
Metropolitan area network atau disingkat dengan MAN merupakan suatu jaringan dalam suatu kota dengan transfer data berkecepatan tinggi, yang menghubungkan berbagai lokasi seperti kampus, perkantoran, pemerintahan, dan sebagainya. Jaringan MAN adalah gabungan dari beberapa LAN.
Jangkauan dari MAN ini antar 10 hingga 50 km, MAN ini merupakan jaringan yang tepat untuk membangun jaringan antar kantor-kantor dalam satu kota antara pabrik/instansi dan kantor pusat yang berada dalam jangkauannya.
Ilustrasi MAN (sumber: http://www.highteck.net/)
Ilustrasi MAN
(sumber: http://www.highteck.net/)
WAN (Wide Area Network)
Wide Area Network (WAN) adalah jaringan yang biasanya sudah menggunakan media wireless, sarana satelit ataupun kabel serat optik. Area jangkauannya sendiri lebih luas dibanding dengan jenis jaringan yang telah disebutkan di atas, bukan hanya meliputi satu kota atau antar kota dalam suatu wilayah, tetapi mulai menjangkau area/wilayah otoritas negara lain. Sebagai contoh jaringan komputer kantor City Bank yang ada di Indonesia ataupun yang ada di negara lain yang saling berhubungan, jaringan ATM Master Card, Visa Card, atau Cirrus yang tersebar di seluruh dunia, dan lain sebagainya.
Biasanya WAN ini lebih rumit dan sangat kompleks bila dibandingkan LAN maupun MAN. WAN menggunakan banyak sarana untuk menghubungkan antara LAN dan WAN ke dalam komunikasi global seperti internet. Meski demikian antara LAN, MAN, dan WAN tidak banyak berbeda dalam beberapa hal, hanya lingkup areanya saja yang berbeda.
Area jangkauan jenis-jenis jaringan
Area jangkauan jenis-jenis jaringan
WAN memiliki banyak kelebihan yang tentu saja diharapkan oleh pemakainya. Kelebihan adalah salah satu faktor utama seseorang atau sekelompok orang memilih menggunakan WAN sebagai solusi jaringannya. Dibawah ini adalah beberapa kelebihan WAN, yakni:
  • Server pusat pada WAN atau Wide Area Network dapat difungsikan sebagai bank data atau tempat penyimpanan yang terpusat. Dengan demikian seluruh file yang dibutuhkan oleh perusahaan dapat digunakan oleh semua komputer yang terhubung dengan WAN, meskipun terpisah jarak yang jauh.
  • WAN atau Wide Area Network adalah jaringan yang sangat luas sehingga dapat menghubungkan antar daerah, pulau atau bahkan antar benua.
  • Jika satu jaringan lokal yang terhubung pada WAN memiliki koneksi internet, maka seluruh komputer yang ada dalam WAN dapat menikmati koneksi internet, jika diijinkan. Hal ini berarti penghematan pada biaya langganan internet yang terpusat pada satu titik saja.
  • WAN dapat menghubungkan komputer yang berada dalam suatu kawasan yang luas dalam waktu singkat sehingga WAN dapat digunakan sebagai media komunikasi internal yang mengurangi biaya telepon tiap bulannya.
WAN atau Wide Area Network memiliki beberapa kekurangan yang sebenarnya tidak siginifikan, namun perlu anda ketahui dengan baik dan benar. Berikut ini adalah beberapa kekurangan yang ada pada Wide Area Network atau WAN, yaitu:
  • WAN atau Wide Area Network merupakan jaringan yang memiliki tingkat kerumitan dan kesulitan tinggi dalam hal pengaturan. Alat-alat yang dibutuhkan untuk membangun WAN terbilang relatif mahal. WAN membutuhkan banyak peralatan dan data sebelum jaringan yang ada berhubungan dan berkomunikasi dengan internet secara global.
  • WAN juga rentan terhadap masalah keamanan data karena bagaimanapun kita tidak dapat mengontrol apa yang terjadi diantara node yang jaraknya bisa sampai puluhan bahkan ratusan kilometer jauhnya. Dalam perjalanannya, bisa saja data antar perusahaan diambil oleh orang lain, baik oleh orang dalam maupun orang luar yang memiliki penguasaan terhadap kelemahan sistem kita.
  • Jika menggunakan jasa sewa jalur atau leased line, biaya yang dikeluarkan tiap bulan tidaklah murah yakni berkisar 7 juta hingga 10 juta rupiah tiap bulannya. Biaya seperti ini tentu saja harus dikalkulasikan dengan baik beserta keuntungan yang didapatkan. Maka dari itu kebanyakan pengguna WAN adalah perusahaan.
Ilustrasi WAN (sumber: http://belajar-komputer-mu.com/)
Ilustrasi WAN
(sumber: http://belajar-komputer-mu.com/)

Tipe Jaringan
Secara umum tipe jaringan dibagi menjadi 2 bagian, yaitu peer to peer dan client-server. Perbedaan yang paling mendasar diantara dua tipe jaringan tersebut adalah pada client-server terdapat sebuah komputer yang bertugas sebagai server yang melayani client-client yang lain sedangkan pada peer to peer tidak ada komputer yang secara khusus didedikasikan sebagai server ataupun client, setiap komputer bisa bertindak sebagai client ataupun server.
Jaringan Client-Server
Server adalah komputer yang menyediakan fasilitas bagi komputer-komputer lain di dalam suatu jaringan. Client adalah komputer-komputer yang menerima atau menggunakan fasilitas yang disediakan oleh server. Server di jaringan tipe ini disebut dengan dedicated server karena server di sini murni berperan sebagai server yang menyediakan fasilitas kepada workstation (client).
Jaringan Client-Server (sumber: zona-cyber-man.blogspot.com)
Jaringan Client-Server
(sumber gambar: zona-cyber-man.blogspot.com)
KEunggulan Jaringan Client-Server
  1. Kecepatan akses lebih tinggi karena penyediaan fasilitas jaringan dan pengelolaannya dilakukan secara khusus oleh satu komputer (server) yang tidak dibebani dengan tugas lain sebagai workstation.
  2. Sistem keamanan dan administrasi jaringan lebih baik, karena terdapat seorang pemakai yang bertugas sebagai administrator jaringan, yang mengelola administrasi dan sistem keamanan jaringan.
  3. Sistem backup data lebih baik, karena pada jaringan ini backup dilakukan terpusat di server yang akan mem-backup seluruh data yang digunakan di dalam jaringan.
Disamping keunggulan diatas, tipe jaringan ini juga memiliki beberapa kekurangan diantaranya:
  1. Biaya operasional relatif lebih mahal.
  2. Diperlukan adanya satu komputer khusus yang berkemampuan lebih untuk ditugaskan sebagai server.
  3. Kelangsungan jaringan sangat tergantung pada server. Bila server mengalami gangguan maka secara keseluruhan jaringan akan terganggu.
Jaringan Peer to Peer
Bila ditinjau dari peran server, maka server di jaringan tipe ini diistilahkan non-dedicated server, karena server tidak berperan sebagai server murni melainkan sekaligus dapat berperan sebagai workstation. Artinya setiap workstation dapat bertindak sebagai server ataupun client.
jarkomdas7
Keunggulan:
  1. Antar komputer dalam jaringan dapat saling berbagi-pakai fasilitas yang dimilikinya seperti hardisk, drive, fax/modem, printer, dan lain sebagainya.
  2. Biaya operasional relatif lebih murah dibandingkan dengan tipe jaringan client-server, karena tidak memerlukan adanya server yang memiliki kemampuan khusus untuk mengorganisasikan dan menyediakan fasilitas jaringan.
  3. Kelangsungan kerja jaringan tidak tergantung pada satu server. Sehingga bila salah satu komputer/peer mati atau rusak, maka jaringan secara keseluruhan tidak akan mengalami gangguan.
Kelemahan:
  1. Troubleshooting jaringan relatif lebih sulit, karena pada jaringan tipe peer to peer setiap komputer dimungkinkan untuk terlibat dalam komunikasi yang ada.
  2. Unjuk kerja lebih rendah dibandingkan dengan jaringan client-server, karena setiap komputer/Peter disamping harus mengelola pemakaian fasilitas jaringan juga harus mengelola pekerjaan atau aplikasi sendiri.
  3. Sistem keamanan jaringan ditentukan oleh masing-masing user dengan mengatur keamanan masing-masing fasilitas yang dimiliki.
  4. Karena data jaringan tersebar di masing-masing komputer dalam jaringan, maka backup harus dilakukan oleh masing-masing komputer tersebut.
Topologi Jaringan
Topologi jaringan secara umum ada 5 buah diantaranya: meshbus, ring, star, dan tree. Masing-masing dari topologi tersebut tentu saja memiliki berbagai keunggulan dan karakterisitik tersendiri. Berikut penjelasanya:
Topologi Mesh
Topologi jaringan ini menerapkan hubungan antar sentral secara penuh. Jumlah saluran harus disediakan untuk membentuk jaringan Mesh adalah jumlah sentral dikurangi 1 (n -1, n = jumlah sentral). Tingkat kerumitan jaringan sebanding dengan meningkatnya jumlah sentral yang terpasang. Dengan demikian disamping kurang ekonomis juga relatif mahal dalam pengoperasiannya.
Topologi Mesh (sumber: http://warnetbiz.blogspot.com/)
Topologi Mesh
(sumber: http://warnetbiz.blogspot.com/)
Topologi Bus
Topologi bus ini sering juga disebut sebagai topologi backbone, dimana ada sebuah kabel coaxial yang dibentang kemudian beberapa komputer dihubungkan pada kabel tersebut. Pada topologi Bus, kedua unjung jaringan harus diakhiri dengan sebuah terminator. Barel connector dapat digunakan untuk memperluasnya. Jaringan hanya terdiri dari satu saluran kabel yang menggunakan kabel BNC. Komputer yang ingin terhubung ke jaringan dapat mengkaitkan dirinya dengan mentap Ethernetnya sepanjang kabel.
Kelebihan topologi Bus adalah:
  • Instalasi relatif lebih murah
  • Kerusakan satu komputer client tidak akan mempengaruhi komunikasi antar client lainnya
  • Biaya relatif lebih murah
  • Pengembangan jaringan atau penambahan workstation baru dapat dilakukan dengan
  • mudah tanpa mengganggu workstation lain
  • Tidak dibutuhkan hub
  • Layout kabel sederhana
Kekurangan topologi Bus adalah:
  • Jika kabel utama (bus) atau backbone putus maka komunikasi gagal
  • Bila kabel utama sangat panjang maka pencarian gangguan menjadi sulit
  • Kemungkinan akan terjadi tabrakan data(data collision) apabila banyak client yang mengirim pesan dan ini akan menurunkan kecepatan komunikasi.
  • Diperlukan repeater untuk jarak jauh
  • Kesulitan utama penggunaan kabel coaxial adalah sulit mengukur apakah kabel coaxial yang dipergunakan benar-benar matching atau tidak. Karena kalau tidak sungguhsungguh diukur secara benar akan merusak NIC (network interface card) yang dipergunakan dan kinerja jaringan menjadi terhambat, tidak mencapai kemampuan maksimalnya.
Topologi Bus (sumber: http://agusckurniawan.blogspot.com/)
Topologi Ring
Di dalam topologi Ring semua workstation dan server dihubungkan sehingga terbentuk suatu pola lingkaran atau cincin. Tiap workstation ataupun server akan menerima dan melewatkan informasi dari satu komputer ke komputer lain, bila alamat-alamat yang dimaksud sesuai maka informasi diterima dan bila tidak maka informasi akan dilewatkan. Untuk menghubungkan antar workstation digunakan token ring.
Kelemahan dari topologi ini adalah setiap node dalam jaringan akan selalu ikut serta mengelola informasi yang dilewatkan dalam jaringan, sehingga bila terdapat gangguan di suatu node maka seluruh jaringan akan terganggu.
jarkomdas11Keunggulan topologi Ring adalah tidak akan terjadinya collision atau tabrakan pengiriman data seperti pada topologi Bus, karena hanya satu node dapat mengirimkan data pada satu saat. Topologi ini sudah tidak digunakan lagi karena dengan kecanggihan teknologi yang ada. Pada masanya, topologi ini menggunakan kabel tipe koaksial dan menggunakan adapter khusus yaitu Token Ring Card pada PC. Untuk saling menyambungkan antar PC sehingga membentuk topologi lingkaran, digunakanlah Token Ring ataupun Terminator.
Topologi Ring (sumber: http://agusckurniawan.blogspot.com/)
Topologi Ring
(sumber: http://agusckurniawan.blogspot.com/)
Topologi Star
Pada topologi Star, masing-masing workstation dihubungkan secara langsung ke server. Keunggulan dari topologi tipe Star ini adalah bahwa dengan adanya kabel tersendiri untuk setiap workstation ke server, maka bandwidth atau lebar jalur komunikasi dalam kabel akan semakin lebar sehingga akan meningkatkan kinerja jaringan secara keseluruhan. Dan juga bila terdapat gangguan disuatu jalur kabel maka gangguan hanya akan terjadi dalam komunikasi antara workstation yang bersangkutan dengan server, jaringan secara keseluruhan tidak mengalami gangguan. Kelemahan dari topologi Star adalah kebutuhan kabel yang lebih besar dibandingkan dengan topologi lainnya.
Topologi Star (sumber: http://agusckurniawan.blogspot.com/)
Topologi Star
(sumber: http://agusckurniawan.blogspot.com/)
Topologi Tree
Topologi ini merupakan topologi gabungan dari beberapa topologi yang ada, yang bisa memadukan kinerja dari beberapa topologi yang berbeda. Topologi Pohon adalah kombinasi karakteristik antara topologi bintang dan topologi bus. Topologi ini terdiri atas kumpulan topologi bintang yang dihubungkan dalam satu topologi bus sebagai jalur tulang punggung atau backbone. Komputer-komputer dihubungkan ke hub, sedangkan hub lain di hubungkan sebagai jalur tulang punggung.
Topologi jaringan ini disebut juga sebagai topologi jaringan bertingkat. Topologi ini biasanya
digunakan untuk interkoneksi antar sentral dengan hirarki yang berbeda. Untuk hirarki yang lebih rendah digambarkan pada lokasi yang rendah dan semakin keatas mempunyai hirarki semakin tinggi. Topologi jaringan jenis ini cocok digunakan pada sistem jaringan komputer.
Pada jaringan pohon, terdapat beberapa tingkatan simpul atau node. Pusat atau simpul yang lebih tinggi tingkatannya, dapat mengatur simpul lain yang lebih rendah tingkatannya. Data yang dikirim perlu melalui simpul pusat terlebih dahulu. Misalnya untuk bergerak dari komputer dengan node-3 ke komputer node-7 seperti halnya pada gambar, data yang ada harus melewati node-3, 5 dan node-6 sebelum berakhir pada node-7.
Keunggulan jaringan pohon seperti ini adalah, dapat terbentuknya suatu kelompok yang dibutuhkan pada setiap saat. Sebagai contoh, perusahaan dapat membentuk kelompok yang terdiri atas terminal pembukuan, serta pada kelompok lain dibentuk untuk terminal penjualan. Adapun kelemahannya adalah, apabila simpul yang lebih tinggi kemudian tidak berfungsi, maka kelompok lainnya yang berada dibawahnya akhirnya juga menjadi tidak efektif. Cara kerja jaringan pohon ini relatif menjadi lambat.
Topologi Tree (sumber: http://agusckurniawan.blogspot.com/)
Topologi Tree
(sumber: http://agusckurniawan.blogspot.com/)



                                             C++

Perkembangan Bahasa C
Bahasa C++ merupakan pengembangan dari bahasa C yang ditulis oleh Ken Thompson pada tahun 1970. Bahasa C untuk pertama kali ditulis oleh Brian W. Kernighan dan Denies M. Ricthie pada tahun 1972. Bahasa C, pada awalnya dioperasikan diatas sistem operasi UNIX
Bahasa C Merupakan bahasa pemrograman tingkat menengah yang berada di antara bahasa tingkat rendah dan bahasa tingkat tinggi yang biasa disebut dengan bahasa Assambly. Bahasa C mempunyai banyak kemampuan, di antaranya untuk membuat perangkat lunak, misalnya dBASE, Word Star, dan lain-lain. Pada tahun 1980 seorang ahli yang bernama Bjarne Stroustrup mengembangkan beberapa hal dari bahasa C yang kemudian dinamakan C with Classes, yang pada tahun 1983 berganti nama menjadi C++.
Mengenal IDE Borland C++
IDE merupakan singkatan dari Integreted Development Environment, merupakan lembar kerja terpadu untuk mengembangkan program.IDE dari Borland C++ dapat digunakan untuk :
  1. Menulis naskah program
  2. Mengompilasi program (compile)
  3. Melakukan pengujian terhadap program (debugging).
  4. Mengaitkan objek dan library ke program (linking).
  5. Menjalankan program (running).
Untuk mengaktifkan aplikasi Borland C++ ver5.02, Anda dapat menggunakan cara yaitu :
  1. Klik tombol start à pilih All Program à Borland C++ 5.02 à klik Borland C++
  2. IDE dari Borland C++ adalah seperti tampak pada gambar dibawah ini

IDE pada Borland C++ terbagi menjadi 4 (empat)bagian, yaitu :
  1. Menu Utama
Menu utama atau menu bar terdiri dari File, Edit, Search, Run, Compile, Debug, Project, Option, Window dan Help.
  1. Jendela Text Edit
Tempat untuk menetikkan dan membuat program. Jika yang pertama kali anda membuat program, maka nama file jendela editor adalah NONAME00.CPP.
  1. Jendela Message
Tempat untuk menampilkan pesan-pesan pada proses kompilasi dan link program.
  1. Baris Status
  2. Baris di mana ditampilkan keterangan-keterangan pada saat Anda mengaktifkan menu bar dan submenu.

Membuat File Editor
Langkah-langkahnya adalah :
  1. Klik Menu File
  2. Klik New
  3. Pilih dan klik Text Edit

Latihahan, Ketik Perintah-perintah yang terdapat pada Gambar di bawah ini
Menyimpan File Editor
Setelah selesai mengetikkan naskah , langkah selanjutnya adalah menyimpan dengan cara :
  1. Klik menu File à Save
  2. Tekan hotkey Ctrl _ KS

Sebagai latihan, buatlah folder kerja anda. Sebagai berikut :
  1. Klik ikon Up One Level sampai ke drice C:, atau klik combobox Look In kemudian pilih drive C:
  2. Klik ikon Create New Folder sehingga akan tampil New Folder.
  3. Tuliskan nama foldernya, LatihanCPP. Tekan tombol Enter.
  4. Kemudian tekan tombol enter lagi, sehingga Look In, menunjukkan Folder LatihanCPP.
  5. Tuliskan pada kotak isian file Name, dengan nama LAT-1. Tekan Enter atau klik tombol Open. Maka selanjutnya file anda telah tersimpan.

Menerjemahkan Program
Langkah yang anda ikuti adalah :
  1. Klik Menu Project
  2. Pilih dan klik Compile
  3. Atau dapat menekan Hotkey Alt+F9

Menjalankan Program
Dengan Langkah sebagai berikut :
  1. Klik Menu Debug
  2. Pilih dan klik Run
  3. Atau menekan Htkey Ctrl+F9
  4. Atau dengan Command Prompt
  5. Klik start à All Program à Accessories à Command Prompt
  6. Ketik dimana Nama File itu disimpat dalam folder dan dalam file.
  7. Klik nama file yang disimpan tadi seperti LAT-1 lalu enter

Membuka File Editor
Membuka atau memanggil file editor yang sudah pernah dibuat, dengan langkah sebagai berikut :
  1. Klik Menu File
  2. Open

Stuktur Program C++
Struktur program C++ sama seperti struktur program C dahulu. Struktur program terdiri sejumlah blok fungsi. Setiap blok fungsi terdiri dari satu atau beberapa pernyataan yang melaksanakan tugas tertentu.
Struktur Program
# include <file-include> Main ( )
{
            Pernyataan ;
            ………..
            ………..
}

Contoh :
#include <iostream.h>
#include <conio.h>
void main ()
{
      clrscr ();
      cout <<”Hallo Agus, welcome to Borland C++.\n”;
      getch ();
}

Output :






MENGENAL MODEL DATA, KONSTANTA, VARIABEL, PERINTAH MASUKAN DAN KELUARAN

Pengenalan Tipe Data
Borland C++ memiliki 7 tipe data dasar
Tipe Data Ukuran Memori Jangkauan Nilai Jumlah Digit
Char 1 Byte -128 s.d 127  
Int 2 Byte -32768 s.d 32767  
Short 2 Byte -32768 s.d 32767  
Long 4 Byte -2,147,435,648 s.d 2,147,435,647  
Float 4 Byte 3.4 x 10-38 s.d 3.4 x 10+38 5 – 7
Double 8 Byte 1.7 x 10-308  s.d 1.7 x 10+308 15 – 16
Long Double 10 Byte 3.4 x 10-4932  s.d 1.1 x 10+4932 19

Tipe Data Tambahan
Unsigned digunakan bila data yang digunakan hanya data yang positif saja
Tipe Data Jumlah Memori Jangkauan Nilai
Unsigned Integer 2 Byte 0 – 65535
Unsigned Character 1 Byte 0 – 255
Unsigned Long Integer 4 Byte 0 – 4,294,967,295


Deklarasi Konstanta
Konstanta adalah suatu nilai yang sifatnya tetap. Secara garis besar konstanta dapat dibagi menjadi dua bagian, yaitu : 
  1. Konstanta Bilangan
Dalam hal ini konstanta bilangan dibagi menjadi tiga kelompok, antara lain;
  1. Konstanta Bilangan Bulat (Integer).
  2. Konstanta Desimal Berpresisi Tunggal ( Floating Point )
  3. Konstanta Desimal Berpresisi Ganda ( Double Precision )
  4. Konstanta Teks
Dalam hal ini konstanta Teks dibagi menjadi dua kelompok, antara lain;
  1. Data Karakter (Character).
  2. Data Teks (String)
Bentuk deklarasi konstanta diawali dengan reserved word const. Bentuk penulisannya :
const nama-konstanta = nilai konstanta;
contoh : const x = 89;
Deklarasi Variabel
Suatu tempat menampung data atau konstanta dimemori yang mempunyai nilai atau data yang dapat berubah-ubah selama proses program
Dalam pemberian nama variabel, mempunyai ketentuan-ketentuan antara lain ;
  • Tidak boleh ada sepasi ( cth : gaji bersih ) dan dapat menggunakan tanda garis bawah ( _ ) sebagai penghubung (cth : gaji_bersih).
  • Tidak boleh diawali oleh angka dan menggunakan operator aritmatika
Variabel, dibagi menjadi dua jenis kelompok, yaitu :
  1. Variabel Numerik
    1. Bilangan Bulat atau Integer
    2. Bilangan Desimal Berpresisi Tunggal atau Floating Point.
    3. Bilangan Desimal Berpresisi Ganda atau Double Precision.
    4. Variabel Text
      1. Character ( Karakter Tunggal )
      2. String ( Untuk Rangkaian Karakter )
Deklarasi Variabel ini meliputi tipe variabel, seperti : integer atau character dan nama variabel itu sendiri. Setiap kali pendeklarasian variabel harus diakhiri oleh tanda titik koma ( ; ).
TIPE VARIABEL SIMBOL DEKLARASI
Integer int
Floating Point float
Double Precision double
Karakter char
Unsigned Integer unsigned int
Unsigned Character unsigned char
Long Integer long int
Unsigned Long Integer unsigned long int

Bentuk penulisannya :
Tipe data  nama variabel;
Contoh Deklarasi
            char nama_mahasiswa;
      char grade;
      float rata_rata ;
      int nilai;
Contoh Deklarasi pada program       
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
main()
{
  float rata_rata ;
  int nilai;
  char nama_mahasiswa;
  char grade;
    …
  …
}

Perintah Keluaran
Perintah standar output yang disediakan oleh Borland C++, diantaranya adalah :
  • printf()
Fungsi printf() merupakan fungsi keluaran yang paling umum digunakan untuk menampilkan informasi kelayar.
Bentuk Penulisan
printf(“string-kontrol”, argumen-1, argumen-2, …);
TIPE DATA Penentu Format Untuk printf()
Integer %d
Floating Point  
Bentuk Desimal %f
Bentuk Berpangkat %e
Bentuk Desimal dan Pangkat %g
Double Precision %lf
Character %c
String %s
Unsigned Integer %u
Long Integer %ld
Long Unsigned Integer %lu
Unsigned Hexadecimal Integer %x
Unsigned Octal Integer %o

Printf(“%c merupakan abjad yang ke – %d”,’b’,2);
Contoh Program :
#include <stdio.h>
#include <conio.h>
main()
{
  int a = 7;
  char b = ‘G';
  clrscr();
  printf(“%c Merupakan Abjad Yang Ke – %d”, b, a);
}
Escape Sequences
ESCAPE SEQUENCES PENGERTIAN
\b Backspace
\f Formfeed
\n Baris Baru
\r Carriage Return
\t Tab ( default = 8 karakter )
\’ Tanda kutip tunggal ( ‘ )
\” Tanda Kutip Ganda ( ” )
\\ Backslash
\xaa Kode ASCII dalam hexadecimal.(aa menunjukkan angka ASCII ybs )
\aaa Kode ASCII dalam octal. (aaa menunjukkan angka ASCII ybs )

  • puts()
Perintah puts() sebenarnya sama dengan printf(), yaitu digunakan untuk mencetak string ke layar. puts() berasal dari kata PUT STRING.
  • putchar()
Perintah putchar() digunakan untuk menampilkan sebuah karakter ke layar. Penampilan karakter tidak diakhiri dengan pindah baris.
  • cout()
Fungsi cout() merupakan sebuah objeck didalam C++ digunakan untuk menampilkan suatu data kelayar. Untuk menggunakan fungsi cout() ini, harus menyertakan file header iostream.h

Perintah Masukan
  • scanf()
Fungsi scanf() digunakan untuk memasukkan berbagai jenis data.
Bentuk Umum dari fungsi ini adalah :
TIPE DATA Penentu Format Untuk scanf()
Integer %d
Floating Point  
Bentuk Desimal %e atau %f
Bentuk Berpangkat %e atau %f
Double Precision %lf
Character %c
String %s
Unsigned Integer %u
Long Integer %ld
Long Unsigned Integer %lu
Unsigned Hexadecimal Integer %x
Unsigned Octal Integer %o
  • gets()
Fungsi gets() digunakan untuk memasukkan data string, Bentuk umum dari fungsi ini adalah  gets(nama-variabel-array);
  • cin()
Fungsi cin() merupakan sebuah objeck didalam C++ digunakan untuk memasukkan suatu data. Untuk menggunakan fungsi cin() ini, harus menyertakan file header iostream.h .
  • getch()
Fungsi getch() (get character and echo) dipakai untuk membaca sebuah karakter dengan sifat karakter yang dimasukkan tidak perlu diakhiri dengan menekan tombol ENTER, dan karakter yang dimasukan tidak akan ditampilkan di layar. File header yang harus disertakan adalah conio.h.
  • getche()
Fungsi getche() dipakai untuk membaca sebuah karakter dengan sifat karakter yang dimasukkan tidak perlu diakhiri dengan menekan tombol ENTER, dan karakter yang dimasukan ditampilkan di layar. File header yang harus disertakan adalah conio.h.
Selain itu kedua fungsi ini dapat digunakan untuk menahan agar tidak langsung balik kembali kedalam listing program dan hasil dari program yang di eksekusi dapat dilihat tanpa menekan tombol ALT – F5. Karena fungsi getch() merupakan fungsi masukkan, jadi sebelum program keluar harus menginputkan satu buah karakter.














OPERATOR PADA C++
Operator merupakan simbol atau karakter yang biasa dilibatkan dalam program untuk melakukan sesuatu operasi atau manipulasi, seperti penjumlahan, pengurangan dan lain-lain.

Operator Aritmatika
Operator untuk operasi aritmatika yang tergolong sebagai operator Binary adalah :
Operator Keterangan Contoh
* Perkalian 4 * 5
/ Pembagian 8 / 2
% Sisa Pembagian 5 % 2
+ Penjumlahan 7 + 2
Pengurangan 6 − 2

Operator yang tergolong sebagai operator Unary, adalah :
Operator Keterangan Contoh
+ Tanda Plus −4
−  Tanda Minus +6

Operator Assignment
Sebelumnya kita telah mengenal operator pemberi nilai ( assignment operator ) yaitu tanda “ = “. Sebagai contoh penggunaan operator pemberi nilai :
      A = A + 1
Dari penulisan ekspresi diatas, Borland C++ dapat menyederhanakan menjadi :
     A += 1
A+ = 1 atau A – = 1 ; masih dapat disederhanakan menjadi A ++ atau A –
Notasi ++ atau — dapat diletakkan di depan atau di belakang variable.
Contoh A ++ atau ++ A / A — atau — A
Kedua bentuk penulisan notasi ini mempunyai arti yang berbeda :
  1. Jika diletakkan di depan variable, maka proses penambahan atau pengurangan akan dilakukan sesaat sebelum atau langsung pada saat menjumpai ekspresi ini sehingga nilai variabel tadi akan langsung berubah begitu ekspresi ini ditemukan, sedangkan
  2. Jika diletakkan di belakang variable, maka proses penambahan atau pengurangan akan dilakukan setelah ekspresi ini dijumpai atau nilai variabel tadi akan tetap pada saat ekspresi ini ditemukan
Notasi “ += “ ini dikenal dengan operator majemuk. Ada beberapa operator pemberi nilai aritmatka diantaranya :
Operator Keterangan
*= Perkalian
/= Pembagian
%= Sisa Pembagian
+= Penjumlahan
-= Pengurangan

Operator Penambah dan Pengurang
Masih berkaitan dengan operator pemberi nilai, Borland C++ menyediakan operator penambah dan pengurang. Dari contoh penulisan operator pemberi nilai sebagai penyederhanaannya dapat digunakan operator penambah dan pengurang.
Operator Keterangan
++ Penambahan
Pengurangan

Operator Relasi
Operator Relasi digunakan untuk membandingkan dua buah nilai. Hasil perbandingan operator ini menghasilkan nilai numerik 1 (True) atau 2 (False).
Operator Keterangan
== Sama Dengan ( bukan pemberi nilai )
!= Tidak Sama dengan
Lebih Dari
Kurang Dari
>= Lebih Dari sama dengan
<= Kurang Dari sama dengan

Operator Logika
Operator Keterangan
&& Operator Logika AND
| | Operator Logika OR
! Operator Logika NOT

  • Operator Logika AND
Operator logika AND digunakan untuk menghubungkan dua atau lebih ekspresi relasi, akan dianggap BENAR, bila semua ekspresi relasi yang dihubungkan bernilai BENAR.
  • Operator Logika OR
Operator logika OR digunakan untuk menghubungkan dua atau lebih ekspresi relasi, akan dianggap BENAR, bila salah satu ekspresi relasi yang dihubungkan bernilai BENAR dan bila semua ekspresi relasi yang dihubungkan bernilai SALAH, maka akan bernilai SALAH.
  • Operator Logika NOT
Operator logika NOT akan memberikan nilai kebalikkan dari ekspresi yang disebutkan. Jika nilai yang disebutkan bernilai BENAR maka akan menghasilkan nilai SALAH, begitu pula sebaliknya

Operator Bitwise
Operator Bitwise digunakan untuk  memanipulasi data dalam bentuk bit. Borland C++ menyedikan enam buah operator bitwise.
Operator Keterangan
~ Bitwise NOT
<<  Bitwise Shift Left
>>  Bitwise Shift Right
& Bitwise AND
^ Bitwise XOR
| Bitwise OR

  • Operator Bitwise << (Shift Left)
Operator Bitwise Shift Left digunakan untuk menggeser sejumlah bit kekiri.
  • Operator Bitwise >> (Shift Right)
Operator Bitwise Shift Right digunakan untuk menggeser sejumlah bit kanan.
  • Operator Bitwise & (And)
Operator Bitwise & ( And ) digunakan untuk membandingkan bit dari dua operand. Akan bernilai benar (1) jika semua operand yang digabungkan bernilai benar (1). Berikut anda dapat melihat ilustrasi untuk membandingkan bit dari 2 operand
  • Operator Bitwise | ( Or )
Operator Bitwise | ( Or ) digunakan untuk membandingkan bit dari dua operand. Akan bernilai benar jika ada salah satu operand yang digabungkan ada yang bernilai benar (1). Berikut anda dapat melihat ilustrasi untuk membandingkan bit dari 2 operand.
  • Operator Bitwise ^ ( eXclusive Or )
Operator Bitwise ^ ( XOr ) digunakan untuk membandingkan bit dari dua operand. Akan bernilai benar (1) jika dari dua bit yang dibadingkan hanya sebuah bernilai benar (1). Berikut anda dapat melihat ilustrasi untuk membandingkan bit dari 2 operand.
  • Operator Bitwise ~ ( Not )
Operator Bitwise ~ ( Not ) digunakan membalik nilai bit dari suatu operand. Berikut anda dapat melihat ilustrasi untuk membandingkan bit dari 2 operand.
Contoh Operator dalam Program :
Contoh 1 :
#include <iostream.h>
#include <conio.h>
#include <iomanip.h>
void main ( )
 {
Int a, b, c = 0, d = 0 ;
cout <<“Masukkan Nilai A : “; cin>>a;
cout <<“Masukkan Nilai B : “; cin>>b;
c = a % b;
d = a * b;
cout <<“Hasil dari C = A % B = “<<c<< endl ;
cout <<“Hasil dari D = A * B = “<<d<< endl;
   getch ( ) ;
}
Contoh 2 :
#include <iostream.h>
#include <conio.h>
#include <iomanip.h>
void main ( )
 {
Int a = 10, b = 5 ;
printf(”Nilai A = %d”, a);
printf(”\nNilai ++A = %d”, ++a);
printf(”\nNilai A = %d”, a);
printf(”\n\nNilai B = %d”, b);
printf(”\nNilai — B = %d”, –b);
printf(”\nNilai B = %d”, b);
getch ( ) ;
}








FUNGSI
Function ( Fungsi ) merupakan blok dari kode yang dirancang untuk melaksanakan tugas khusus. Pada intinya fungsi berguna untuk :
  • Mengurangi pengulangan penulisan program yang berulangan atau sama.
  • Program menjadi terstruktur, sehingga mudah dipahami dan dikembangkan.
Fungsi-fungsi yang sudah kita kenal sebelumnya adalah fungsi main(), yang bersifat mutlak, karena fungsi ini program akan dimulai, sebagai contoh yang lainnya fungsi printf() yang mempunyai tugas untuk menampilkan informasi atau data kelayar dan masih banyak lainnya.

Struktur Fungsi
Sebuah fungsi sederhana mempunyai bentuk penulisan sebagai berikut :
nama_fungsi(argumen)
            {
                        … pernyataan / perintah;
                        … pernyataan / perintah;
                        … pernyataan / perintah;
            }
Contoh pembuatan fungsi sederhana :
/* pembuatan fungsi garis() */
garis()
{
printf(“\n———————-\n”);
}/
* program utama */
main()
{
clrscr();
garis();
cout<<“Institut Sains dan Teknologi Al-Kamal”<<endl;;
garis();
getche();
}
Prototipe Fungsi
Prototipe fungsi digunakan untuk menjelaskan kepada kompiler mengenai :
  • Tipe keluaran fungsi.
  • Jumlah parameter.
  • Tipe dari masing-masing parameter.
Salah satu keuntungan pemakai prototipe, kompiler akan melakukan konversi antara tipe parameter dalam definisi dan parameter saat pemanggilan fungsi tidak sama atau akan menunjukkan kesalahan jika jumlah parameter dalam definisi dan saat pemanggilan berbeda.
Contoh prototipe fungsi :
float total ( float a, float b); (menggunakan titik koma)
Jika dalam penggunaan fungsi yang dideklarasikan dengan menggunakan prototipe, maka bentuk definisi harus diubah. Sebagai contoh pada pendefinisian berikut :
float total(a, b)
float a, y;
Bentuk pendefinisian diatas harus diubah menjadi bentuk modern pendefinisian fungsi :
float total(float a, float b) (Tidak menggunakan titik koma)
Parameter Fungsi
Terdapat dua macam para parameter fungsi, yaitu :
  1. Parameter formal adalah variabel yang ada pada daftar parameter dalam definisi fungsi.
  2. Parameter Aktual adalah variabel yang dipakai dalam pemanggilan fungsi.
Bentuk penulisan Parameter Formal dan Parameter Aktual.
  1. Pemanggilan dengan nilai ( Call by Value )
Pemanggilan dengan nilai merupakan cara yang dipakai untuk seluruh fungsi buatan yang telah dibahas didepan. Pada pemanggilan dengan nilai, nilai dari parameter aktual akan ditulis keparameter formal. Dengan cara ini nilai parameter aktual tidak bisa berubah, walaupun nilai parameter formal berubah. Contoh Program :
/* ———————— */
/* Penggunaan Call By Value */
/* Program Pertukaran Nilai */
/* ———————— */
#include<conio.h>
#include<stdio.h>
#include<iostream.h>
tukar(int x, int y);
main()
{
int a, b;
a = 88; b = 77;
clrscr();
cout<<“Nilai Sebelum Pemanggilan Fungsi”;
cout<<“\na = “<<a<<” b = “<<b;
tukar(a,b);
cout<<“\nNilai Setelah Pemanggilan Fungsi”;
cout<<“\na = “<<a<<” b = “<<b;
getch();
} tukar(int x, int y)
{
int z;
z = x; x = y; y = z;
cout<<“\n\nNilai di dalam Fungsi Tukar()”;
cout<<“\nx = “<<x<<” y = “<<y;
cout<<endl;
}
  1. Pemanggilan dengan Referensi (Call by Reference)
Pemanggilan dengan reference merupakan upaya untuk melewatkan alamat dari suatu variabel kedalam fungsi. Cara ini dapat dipakai untuk mengubah isi suatu variabel diluar fungsi dengan melaksanakan pengubahan dilakukan didalam fungsi. Contoh :
/* Penggunaan Call By Reference */
/* Program Pertukaran Nilai */
/* —————————- */
#include<conio.h>
#include<stdio.h>
#include<iostream.h>
tukar(int *x, int *y);
main()
{
int a, b;
a = 88; b = 77;
clrscr();
cout<<“Nilai Sebelum Pemanggilan Fungsi”;
cout<<“\na = “<<a<<” b = “<<b;
tukar(&a,&b);
cout<<endl;
cout<<“\nNilai Setelah Pemanggilan Fungsi”;
cout<<“\na = “<<a<<” b = “<<b;
getch();
}
tukar(int *x, int *y)
{
int z;
z = *x; *x = *y; *y = z;
cout<<endl;
cout<<“\nNilai di Akhir Fungsi Tukar()”;
cout<<“\nx = “<<*x<<” y = “<<*y;
}
Pengiriman Data Ke Fungsi
  1. Pengiriman Data Konstanta Ke Fungsi
Mengirimkan suatu nilai data konstanta ke suatu fungsi yang lain dapat dilakukan dengan cara yang mudah, dapat dilihat dari program berikut :
/* Pengriman data Konstanta */
/* ———————— */
#include<conio.h>
#include<stdio.h>
#include<iostream.h>
luas(float sisi);
main()
{
float luas_bs;
clrscr();
luas_bs = luas(4.25);
cout<<“\nLuas Bujur Sangkar = “<<luas_bs;
getch();
} luas(float sisi)
{
return(sisi*sisi);
}
  1. Pengiriman Data Variabel Ke Fungsi
Bentuk pengiriman data Variabel, sama seperti halnya pengiriman suatu nilai data konstanta ke suatu fungsi, hanya saja nilai yang dikirimkan tersebut senantiasa dapat berubah-ubah. Bentuk pengiriman tersebut dapat dilihat dari program berikut:
/* ———————— */
/* Pengriman data Konstanta */
/* ———————— */
#include<conio.h>
#include<stdio.h>
#include<iostream.h>
luas(float sisi);
main()
{
float luas_bs, sisi_bs;
clrscr();
cout<<“\nMenghitung Luas Bujur Sangkar”<<endl;
cout<<“\nMasukan Nilai Sisi Bujur Sangkar : “;
cin>>sisi_bs;
luas_bs = luas(sisi_bs);
cout<<“\nLuas Bujur Sangkar = “<<luas_bs<<” Cm”;
getch();
} luas(float sisi)
{
return(sisi*sisi);
}
Pernyataan return().
Digunakan untuk mengirimkan nilai atau nilai dari suatu fungsi kepada fungsi yang lain yang memanggilnya. Pernyataan return() diikuti oleh argumen yang berupa nilai yang akan dikirimkan. Contoh pemakaian pernyataan return() dapatdilihat pada contoh berikut ;
/* ————————– */
/* Penggunaan Fungsi return() */
/* ————————– */
#include<conio.h>
#include<stdio.h>
#include<iostream.h>
tambah(int c); //prototype fungsi tambah
main()
{
int a, b = 5;
clrscr();
a = tambah(b);
cout<<“Nilai Setelah Pemanggilan Fungsi :”<<a;
getch();
} tambah(int c) //fungsi tambah
{
return(c+=2);
}
Inline Function
Fungsi inline ( inline function ) digunakan untuk mempercepat proses program, terutama program-program yang menggunakan sering menggunakan fungsi, terutama program-program yang menggunakan pernyataan perulangan proses seperti for, while dan do – while. Inline function dideklarasikan dengan menyisipkan kata kunci inline didepan tipe data.
/* ————————– */
/* Penggunaan inlide function */
/* ————————– */
#include<conio.h>
#include<stdio.h>
#include<iostream.h>
inline int hitung(int a, int b)
{
return(a * b);
}
main()
{
int k;
clrscr();
for(k = 1; k < 20; k++)
cout<< k <<“. “<<hitung(k, 2 * k) << endl;
getch();
}
Function Overloading
Function Overloading adalah mendefinisikan beberapa fungsi, sehingga memiliki nama yang sama. Dapat diartikan bahwa fungsi yang overload berarti menyediakan versi lain dari fungsi tersebut. Salah satu kelebihan dari C++ adalah Overloading. Sebagai contoh membentuk fungsi yang sama dengan tipe yang berbeda-beda dan dibuatkan pula nama fungsi yang berbedabeda pula.
/* ——————————- */
/* Penggunaan function overloading */
/* ——————————- */
#include<conio.h>
#include<stdio.h>
#include<iostream.h>
int hitung(int b);
long hitung(long c);
float hitung(float d);
void main()
{
clrscr();
cout<<hitung(4)<<endl;
cout<<hitung(2)<<endl;
cout<<hitung(3)<<endl;
cout<<hitung(5)<<endl;
getch();
} int hitung(int b)
{
return(b*b);
} long hitung(long c)
{
return(c*c);
}
double hitung(double d)
{
return(d*d);
}
Fungsi Untuk Operasi String
Kompiler seperti Borland C++ maupun TURBO C++ menyediakan sejumlah fungsi yang berkaitan dengan operasi string, antara lain :
  1. Fungsi Manipulasi String
  2. Fungsi Konversi string
  • Menggabungkan string dengan strcat() :
//*Contoh untuk menunjukkan efek strcat()
#include <iostream.h>
#include <conio.h>
#include <string.h>
Void main()
{
char st[128] = “satu dua”;
Clrscr();
Cout <<“Isi st semula : “<< st<< endl;
Strcat(st, “tiga empat lima”);
Cout <<“Isi st sekarang : “ << st << endl;
}
  • Menggabungkan dua buah string :
//*Contoh untuk menunjukkan penggunaan strcmp()
#include <iostream.h>
#include <conio.h>
#include <string.h>
Void main()
{
char st[128] = “satu dua”;
Char cpp[ ] = “c++”; Clrscr();
Cout <<“Masukkan sembarang string “<< endl;
Cin.getline(st, sizeof (st));
Int hasil = strcmp(st, cpp);
If (hasil==0)
Cout <<st << “==“<<cpp<<endl;
Else if (hasil<0)
Cout <<st << “<“<<cpp<<endl;
Else
Cout <<st << “>“<<cpp<<endl;
}
  • Mengetahui Panjang String dengan strlen()
//* contoh strlen() untuk memperoleh panjang string
#include <iostream.h>
#include <conio.h>
#include <string.h>
void main()
{
char bunga[15] = “mawar”;
char kosong[15] = “ “;
clrscr();
cout << strlen (bunga) << endl;
cout << strlen (kosong) << endl;
}
  • Mengkonversi ke huruf kecil dengan strlwr() & strupr()
//*Contoh untuk mengkonversi string ke huruf kecil atau sebalinya menggunakan strcat()
#include <iostream.h>
#include <conio.h>
#include <string.h>
Void main()
{
char st[128] = “satu dua”;
Clrscr();
Cout <<“Isi st semula : “<< st<< endl;
Strcat(st, “tiga empat lima”);
Cout <<“Isi st sekarang : “ << st << endl;
}
  • Membalik string dengan strrev()
//* contoh pemakaian strrev() untuk membalikstring
#include <iostream.h>
#include <conio.h>
#include <string.h>
void main()
{
char kompiler[ ] = “Borland C++”;
clrscr();
strrev(kompiler);
cout<< kompiler<<endl;
}
  • Contoh menyalin string dengan strcpy()
//* contoh pemakaian strrev() untuk membalikstring
#include <iostream.h>
#include <conio.h>
#include <string.h>
void main()
{
char teks[ ] = “C++ ok”;
char data[25];
clrscr();
strcpy(data, teks);
cout<<”isi data : “<< data<<endl;
}

Konversi String ke Angka atau sebaliknya.
Untuk melakukan konversi dari suatu string ke bilangan, pemrograman dapat menggunakan sejumlah fungsi bawaan.
Fungsi-fungsi yang telah tersedia dapat dilihat pada table berikut :
Fungsi Prototipe Keterangan
atoi stdlib.h Mengkoversi string argument menjadi nilai bertipe INT
atof stdlib.h Mengkoversi string argument menjadi nilai bertipe FLOAT
atol stdlib.h Mengkoversi string argument menjadi nilai bertipe Long Int

Beberapa contoh hasil pengkonversian stringkebilangan :
atof(“+2.1E+02”)        è 210
atof(“+2”)                   è 2
atof(“2ABC”)                         è 2
atof(“ 20.1”)                è 20
atoi(“+2.1E+02”)        è 2
atoi“+2”)                     è 2
atoi(“2ABC”)              è 2
atoi(“ 20.1”)                è 20
atol(“+2.1E+02”)        è 2
atoll(“+2”)                   è 2
atoll(“2ABC”)             è 2
atol(“ 20000000”)       è 20000000
PENYELESAIAN KONDISI

Pernyataan IF
Pernyataan if mempunyai pengertian, “ Jika kondisi bernilai benar, maka perintah akan dikerjakan dan jika tidak memenuhi syarat maka akan diabaikan”.
Bentuk umum dari pernyataan if
if (kondisi)
pernyataan;

  • Pernyataan IF – ELSE
Pernyataan if -else mempunyai pengertian, “ Jika kondisi bernilai benar, maka perintah-1 akan dikerjakan dan jika tidak memenuhi syarat maka akan mengerjakan perintah-2”.
Bentuk umum dari pernyataan if
if (kondisi)
perintah-1;
else
perintah-2;
Jika if-else diikuti dengan pernyataan majemuk maka bentuk penulisannya sebagai berikut :
if (kondisi)
{
perintah-1;

}
else
{
perintah-2;

}

  • Pernyataan NESTED IF
Nested if merupakan pernyataan if berada didalam pernyataan if yang lainnya. Bentuk penulisan pernyataan Nested if adalah :
if(kondisi)
if(kondisi)
…perintah;
else
…perintah;
else
if(kondisi)
…perintah;
else
…perintah;


  • Pernyataan IF – ELSE Mejemuk
Bentuk dari if-else bertingkat sebenarnya serupa dengan nested if, keuntungan penggunanan if-else bertingkat dibanding dengan nested if adalah penggunaan bentuk penulisan yang lebih sederhana
if(kondisi1)
{
..perintah;
..perintah;
}
else if(kondisi2)
{
..perintah;
..perintah;
}


else
{
..perintah;
..perintah;
}

Pernyataan switch – case
Pernyataan switch – case ini memiliki kegunaan sama seperti if – else bertingkat, tetapi penggunaannya untuk memeriksa data yang bertipe karakter atau integer. Bentuk penulisan perintah ini sebagai berikut :
switch (ekspresi integer atau karakter )
{
case konstanta-1 :
… perintah;
… perintah;
break;
case konstanta-2 :
… perintah;
… perintah;
break;
……
……
default :
… perintah;
… perintah;
}

Pernyataan break menunjukan bahwa perintah siap keluar dari switch. Jika pernyataan ini tidak ada, maka program akan diteruskan kecabang – cabang yang lainnya.
Contoh program penyelesaian kondisi :
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
main()
{
char kode;
clrscr();
cout<<“Masukkan Kode Barang [A..C]
: “;
cin>>kode
switch(kode)
{
case ‘A’ :
case ‘a’ :
cout<<“Alat Olah Raga”;
break;
case ‘B’ :
case ‘b’ :
cout<<“Alat Elelktronik”;
break;
case ‘C’ :
case ‘c’ :
cout<<“Alat Masak”;
break;
default:
cout<<“Anda Salah Memasukan kode”;
break;
}
getch();























PROSES PERULANGAN

Pernyataan for
Perulangan yang pertama adalah for. Bentuk umum pernyataan for sebagai berikut :
for(inisialisasi;syarat pengulangan;pengubah nilai pencacah )
Bila pernyataan didalam for lebih dari satu maka pernyataan-pernyataan tersebut harus diletakan
didalam tanda kurung.
for ( inisialisasi; syarat pengulangan; pengubah nilai pencacah )
{
pernyataan / perintah;
pernyataan / perintah;
pernyataan / perintah;
}
Kegunaan dari masing-masing argumen for diatas adalah :
  • Inisialisasi : merupakan bagian untuk memberikan nilai awal untuk variabel-variabel tertentu.
  • Syarat Pengulangan : memegang control terhadap pengulangan, karena bagian ini yang akan menentukan suatu perulangan diteruskan atau dihentikan.
  • Pengubah Nilai Pencacah : mengatur kenaikan atau penurunan nilai pencacah.
Sebagai contoh program untuk mencetak bilangan dari 1 hingga 10 secara menaik, sebagai berikut :
/* ————————— */
/* Program for – bilangan naik */
/* ————————— */
#include<stdio.h>
#include<conio.h>
#include<iostream.h>
main()
{
int a;
clrscr();
for(a = 1; a <= 10; ++a)
cout<<a;
}
Pernyataan nested – for
Pernyataaan Nested for adalah suatu perulangan for didalam perulangan for yang lainnya. Bentuk umum pernyataan Nested for sebagai berikut :
for ( inisialisasi; syarat pengulangan; pengubah nilai pencacah )
{
for ( inisialisasi; syarat pengulangan; pengubah nilai pencacah)
{
pernyataan / perintah;
}
}
Didalam penggunaan nested-for, perulangan yang didalam terlebih dahulu dihitung hingga selesai, kemudian perulangan yang diluar diselesaikan.
/*—————————*/
/* Program for – Nested for */
/* ————————- */
#include<stdio.h>
#include<conio.h>
main()
{
int a, b;
clrscr();
for(a = 1; a <= 5; a++)
{
cout<<endl;
for(b = a; b <= 5; b++)
cout<<a;
}
}
Perulangan Tidak Berhingga
Perulangan tak berhingga merupakan perulangan ( loop ) yang tak pernah berhenti atau mengulang terus, hal ini sering terjadi disebabkan adanya kesalahan penanganan kondisi yang dipakai untuk keluar dari loop.
Sebagai contoh, jika penulisan perintah sebagai berikut :
/* ————————- */
/* Program for Tdk Berhingga */
/* ————————- */
#include<stdio.h>
#include<conio.h>
main()
{
int bil;
clrscr();
for (bil = 60; bil >=10; bil++)
cout<< bil;
}
Jika terjadi hal semacam ini, untuk menghentikan proses yang terus menerus semacam ini denan
menekan tombol CTRL – PAUSE atau CTRL – BREAK.
Pernyataan goto
Pernyataan goto merupakan instruksi untuk mengarahkan eksekusi program kepernyataan yang diawali dengan suatu label. Label merupakan suatu pengenal (identifier) yang diikuti dengan tanda titik dua ( : ). Bentuk pemakaian goto sebagai berikut :
goto label;

Contoh Penggunaan goto, dapat dilihat pada program berikut :
/* —————————— */
/* Program dengan pernyataan goto */
/* —————————— */
#include<iostream.h>
#include<stdio.h>
#include<conio.h>
main()
{
int a, b;
char lagi;
atas:
clrscr();
cout<<“Masukkan Bilangan = “;
cin>>a;
b = a % 2;
cout<<“Nilai a % 2 adalah = “,a, b);
cout<<“Ingin Hitung Lagi [Y/T] : “);
lagi = getche() ;
if (lagi == ‘Y’ || lagi == ‘y’)
goto atas;
getch();
}
Pernyataan While
Bentuk umum perulangan while, dengan lebih dari perintah / pernyataan, sebagai berikut :
while ( syarat )
{
Pernyataan / perintah ;
}

Contoh Program
/* ——————- */
/* Program while.cpp */
/* ——————- */
#include <stdio.h>
#include <conio.h>
main()
{
int bil=1;
clrscr();
while(bil<=10)
{
cout<<bil;
++bil;
}
}
Pernyataan do – while
Pernyataan perulangan do – while merupakan bentuk perulangan yang melaksanakan perulangan terlebih dahulu dan pengujian perulangan dilakukan dibelakang.
Bentuk umum perulangan do – while, sebagai berikut :
do
Pernyataan / perintah ;
while ( syarat )
Bentuk umum perulangan do – while, dengan lebih dari perintah / pernyataan, sebagai berikut :
do
{
Pernyataan / perintah ;
}
while ( syarat )

Contoh Program :
/* —————— */
/* Program do – while */
/* —————— */
#include <stdio.h>
#include <conio.h>
main()
{
int bil=2;
clrscr();
do
{
cout<<bil;
bil+=2;
}
while(bil<=10);
}
Pernyataan break
Pernyataan break telah dibahas pada pernyataan pengambilan keputusan switch. Pernyataan break ini berfungsi untuk keluar dari struktur switch. Selain itu pernyataan break berfungsi keluar dari perulangan ( for, while dan do-while ). Jika pernyataan break dikerjakan, maka eksekusi akan dilanjutkan ke pernyataan yang terletak sesudah akhir dari badan perulangan ( loop ).
Do While dengan break :
/* ——————————- */
/* Program do – while dengan break */
/* ——————————- */
#include <stdio.h>
#include <conio.h>
main()
{
int bil = 1;
clrscr();
do
{
if (bil >= 6)
break;
cout<<bil;
}
while(bil++);
}
For dengan Break
/* —————————– */
/* Perulangan FOR dengan break; */
/* —————————– */
#include <stdio.h>
#include <conio.h>
main()
{
int bil=1;
clrscr();
while (bil <= 10)
{
if (bil > 5)
break;
cout << bil<<endl;
bil++
}
}
Pernyataan continue
Pernyataan continue digunakan untuk mengarahkan eksekusi ke iterasi (proses) berikutnya pada loop yang sama, dengan kata lain mengembalikan proses yang sedang dilaksanakan ke-awal loop lagi, tanpa menjalankan sisa perintah dalam loop tersebut.
/* —————————– */
/* Perulangan FOR dengan continue */
/* —————————– */
#include <stdio.h>
#include <conio.h>
main()
{
int bil;
clrscr();
for(bil=1; bil<=10; ++bil)
{
cout << bil <<endl;
continue;
cout<< “Apa saya muncul?“<<endl;
}
}
VARIABEL ARRAY

Variabel Larik atau lebih dikenal dengan ARRAY adalah adalah Tipe terstruktur yang terdiri dari sejumlah komponenkomponen yang mempunyai tipe yang sama. Suatu Array mempunyai jumlah komponen yang banyaknya tetap. Banyaknya komponen dalam suatu larik ditunjukan oleh suatu indek untuk membedakan variabel yang satu dengan variabel yang lainnya. Variabel array dalam C++, dapat digolongkan menjadi tiga buah dimensi :
  1. Array Berdimensi Satu.
  2. Array Berdimensi Dua
  3. Array Berdimensi Tiga.

Array Berdimensi Satu
Cara mendeklarasikan variabel array sama seperti deklarasi variabel yang lainnya, hanya saja diikuti oleh suatu indek yang menunjukan jumlah maksimum data yang disediakan.
Bentuk umum pendeklarasian array :
Tipe-Data Nama_Variabel[Ukuran]
Keterangan :
  • Type Data : Untuk menyatakan type datayang digunakan.
  • Ukuran : Untuk menyatakan jumlah maksimum elemen array.
Contoh Pendeklarasian Array
float Nil_Akhir[6];
float è type data, Nil_Akhir è elemen array, [6] èJumlah elemen Array
Suatu array dapat digambarkan sebagai kotak panjang yang berisi kotak-kotak kecil didalam kotak panjang tersebut.
Subscript atau Index array pada C++, selalu dimulai dari Nol ( 0 )
Bentuk umum pengaksesan dengan bentuk :
Nama_Array[Subscript/Index]
Contoh :
Nil_Akhir[3];
Nil_Akhir[1];
Nil_Akhir[0];

Inisialisasi Array Dimensi Satu
Inisialisasi adalah memberikan nilai awal terhadap suatu variabel. Bentuk pendefinisian suatu array dapat dilihat dari contoh berikut :
Tipe_data nama_array[jml_elemen] = { nilai array };
Contoah Program :
/* —————————- */
/* Program Array Satu Dimensi */
/* —————————- */
#include<conio.h>
#include<stdio.h>
#include<iostream.h>
#include<iomanip.h>
main()
{
int i;
char nama[5][20];
float nilai1[5];
float nilai2[5];
float hasil[5];
clrscr();
for(i=1;i<=2;i++)
{
cout<<“Data Ke – “<<i<<endl;
cout<<“Nama Siswa : “;
gets(nama[i]);
cout<<“Nilai Teori : “;
cin>>nilai1[i];
cout<<“Nilai Praktek : “;
cin>>nilai2[i];
hasil[i] = (nilai1[i] * 0.40)+
(nilai2[i] * 0.60);
cout<<endl;
}
cout<<“——————————————“;
cout<<“——-“<<endl;
cout<<“No. Nama Siswa Nilai Nilai “;
cout<<“Hasil”<<endl;
cout<<” Mid Tes FInal “;
cout<<“Ujian”<<endl;
cout<<“——————————————“;
cout<<“——-“<<endl;
for(i=1;i<=2;i++)
{
cout<<setiosflags(ios::left)<<setw(4)<<i;
cout<<setiosflags(ios::left)<<setw(20)<<nama[i];
cout<<setprecision(2)<<” “<<nilai1[i];
cout<<setprecision(2)<<” “<<nilai2[i];
cout<<setprecision(2)<<” “<<hasil[i]<<endl;
}
cout<<“————————-
—————–“;
cout<<“——-“<<endl;
getch();
}









Array Berdimensi Dua
Array dimensi dua tersusun dalam bentuk baris dan kolom, dimana indeks pertama menunjukan baris dan indeks kedua menunjukan kolom. Array dimensi dua dapat digunakan seperti pendatan penjualan, pendataan nilai dan lain sebagainya.
Bentuk Umum pendeklarasian array :
Tipe-Data Nama_Variabel[index-1][Index-2]
Keterangan :
  • Type Data : Untuk menyatakan type data yang digunakan.
  • Index-1 : Untuk menyatakan jumlah baris
  • Index-2 : Untuk menyatakan jumlah kolom
Inisialisasi Array Dimensi Dua
Inisialisasi adalah memberikan nilai awal terhadap suatu variabel. Bentuk pendefinisian suatu array dapat dilihat dari contoh berikut :
Tipe_data nama_array[jml_elemen] = { nilai array };
Contoh Pendeklarasian Array
Sebagai contoh pendeklarasian yang akan kita gunakan adalah pengolahan data penjualan, berikut dapat anda lihat pada tabel berikut :
Jenis Barang Tahun
2001 2002 2003
Printer 150 159 230
Keyboard 100 125 150
Monitor 210 125 156

Jika anda lihat dari tabel diatas maka dapat dituliskan kedalam array dimensi dua berikut :
int data_jual[3][3];
Keterangan :
[3] Jumlah Kolom, [3] Jumlah Baris, data_jual : Nama Array, int : Tipe data elemen array
Bentuk umum pengaksesan dengan bentuk :
Nama_Array[Index-1][Index-2]
Contoh Program :
/* —————- */
/* Array Dimensi 2 */
/* —————- */
#include<conio.h>
#include<stdio.h>
#include<iostream.h>
#include<iomanip.h>
main()
{
int i, j;
int data_jual[4][4];
clrscr();
for(i=1;i<=3;i++)
{
for(j=1;j<=3;j++)
{
cout<<“Data Ke – “<<i<<” “<<j<<endl;
cout<<“Jumlah Penjulan : “;
cin>>data_jual[i][j];
}
}
cout<<“Data Penjualan Pertahun”<<endl;
cout<<“———————–“<<endl;
cout<<“NO 2001 2002 2003″<<endl;
cout<<“———————–“<<endl;
for(i=1;i<=3;i++)
{
cout<<setiosflags(ios::left)<<setw(5)<<i;
for(j=1;j<=3;j++)
{
cout<<setiosflags(ios::right)<<setw(4);
cout<<data_jual[i][j];
cout<<” “;
}
cout<<endl;
}
cout<<“———————–“<<endl;
getch();
}