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.
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.

Contoh pengaplikasian WPAN
(sumber gambar: http://techno-kifamona.blogspot.com)
(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.
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/)
(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.
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/)
(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.
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.
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/)
(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).
KEunggulan Jaringan Client-ServerServer 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).
- 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.
- Sistem keamanan dan administrasi jaringan lebih baik, karena terdapat seorang pemakai yang bertugas sebagai administrator jaringan, yang mengelola administrasi dan sistem keamanan jaringan.
- 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:
- Biaya operasional relatif lebih mahal.
- Diperlukan adanya satu komputer khusus yang berkemampuan lebih untuk ditugaskan sebagai server.
- 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.
Keunggulan:
- Antar komputer dalam jaringan dapat saling berbagi-pakai fasilitas yang dimilikinya seperti hardisk, drive, fax/modem, printer, dan lain sebagainya.
- 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.
- 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:
- Troubleshooting jaringan relatif lebih sulit, karena pada jaringan tipe peer to peer setiap komputer dimungkinkan untuk terlibat dalam komunikasi yang ada.
- 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.
- Sistem keamanan jaringan ditentukan oleh masing-masing user dengan mengatur keamanan masing-masing fasilitas yang dimiliki.
- Karena data jaringan tersebar di masing-masing komputer dalam jaringan, maka backup harus dilakukan oleh masing-masing komputer tersebut.
Topologi jaringan secara umum ada 5 buah diantaranya: mesh, bus, 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 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/)
(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.
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/)
(sumber: http://agusckurniawan.blogspot.com/)
Topologi Ring

Token ring
Sumber: http://www.bestcableforless.com/
Sumber: http://www.bestcableforless.com/
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.
Keunggulan
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/)
(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.
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/)
(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 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.
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/)
(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 UNIXBahasa 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 :
- Menulis naskah program
- Mengompilasi program (compile)
- Melakukan pengujian terhadap program (debugging).
- Mengaitkan objek dan library ke program (linking).
- Menjalankan program (running).
- Klik tombol start à pilih All Program à Borland C++ 5.02 à klik Borland C++
- IDE dari Borland C++ adalah seperti tampak pada gambar dibawah ini
IDE pada Borland C++ terbagi menjadi 4 (empat)bagian, yaitu :
- Menu Utama
- Jendela Text Edit
- Jendela Message
- Baris Status
- Baris di mana ditampilkan keterangan-keterangan pada saat Anda mengaktifkan menu bar dan submenu.
Membuat File Editor
Langkah-langkahnya adalah :
- Klik Menu File
- Klik New
- 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 :
- Klik menu File à Save
- Tekan hotkey Ctrl _ KS
Sebagai latihan, buatlah folder kerja anda. Sebagai berikut :
- Klik ikon Up One Level sampai ke drice C:, atau klik combobox Look In kemudian pilih drive C:
- Klik ikon Create New Folder sehingga akan tampil New Folder.
- Tuliskan nama foldernya, LatihanCPP. Tekan tombol Enter.
- Kemudian tekan tombol enter lagi, sehingga Look In, menunjukkan Folder LatihanCPP.
- 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 :
- Klik Menu Project
- Pilih dan klik Compile
- Atau dapat menekan Hotkey Alt+F9
Menjalankan Program
Dengan Langkah sebagai berikut :
- Klik Menu Debug
- Pilih dan klik Run
- Atau menekan Htkey Ctrl+F9
- Atau dengan Command Prompt
- Klik start à All Program à Accessories à Command Prompt
- Ketik dimana Nama File itu disimpat dalam folder dan dalam file.
- 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 :
- Klik Menu File
- 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 :
- Konstanta Bilangan
- Konstanta Bilangan Bulat (Integer).
- Konstanta Desimal Berpresisi Tunggal ( Floating Point )
- Konstanta Desimal Berpresisi Ganda ( Double Precision )
- Konstanta Teks
- Data Karakter (Character).
- Data Teks (String)
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 Numerik
- Bilangan Bulat atau Integer
- Bilangan Desimal Berpresisi Tunggal atau Floating Point.
- Bilangan Desimal Berpresisi Ganda atau Double Precision.
- Variabel Text
- Character ( Karakter Tunggal )
- String ( Untuk Rangkaian Karakter )
| 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()
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()
- putchar()
- cout()
Perintah Masukan
- scanf()
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()
- cin()
- getch()
- getche()
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 :
- 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
- 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
| 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 OR
- Operator Logika NOT
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 Right)
- Operator Bitwise & (And)
- Operator Bitwise | ( Or )
- Operator Bitwise ^ ( eXclusive Or )
- Operator Bitwise ~ ( Not )
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.
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.
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 :
- Parameter formal adalah variabel yang ada pada daftar parameter dalam definisi fungsi.
- Parameter Aktual adalah variabel yang dipakai dalam pemanggilan fungsi.
- Pemanggilan dengan nilai ( Call by Value )
/* ———————— */
/* 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;
}
- Pemanggilan dengan Referensi (Call by Reference)
/* 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
- Pengiriman Data Konstanta Ke Fungsi
/* 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);
}
- Pengiriman Data Variabel Ke Fungsi
/* ———————— */
/* 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 :
- Fungsi Manipulasi String
- Fungsi Konversi string
- Menggabungkan string dengan 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 :
#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()
#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()
#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()
#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()
#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
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
if(kondisi)
if(kondisi)
…perintah;
else
…perintah;
else
if(kondisi)
…perintah;
else
…perintah;
- Pernyataan IF – ELSE Mejemuk
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.
/* ————————— */
/* 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 :
- Array Berdimensi Satu.
- Array Berdimensi Dua
- 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.
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 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();
}


