Pengolahan Tagihan PDAM!!!
Listing Programnya:
Public Class Form1
Sub buattabel()
Lv.Columns.Add("kode pelanggan", 100, HorizontalAlignment.Center)
Lv.Columns.Add("nama", 120, HorizontalAlignment.Center)
Lv.Columns.Add("Tipe", 80, HorizontalAlignment.Center)
Lv.Columns.Add("HargaM3", 80, HorizontalAlignment.Center)
Lv.Columns.Add("Daerah", 80, HorizontalAlignment.Center)
Lv.Columns.Add("Biaya Beban", 80, HorizontalAlignment.Center)
Lv.Columns.Add("Pajak", 80, HorizontalAlignment.Center)
Lv.Columns.Add("Jumlah Pemakaian", 100, HorizontalAlignment.Center)
Lv.Columns.Add("Total Tagihan", 80, HorizontalAlignment.Center)
Lv.Columns.Add("pembayaran", 80, HorizontalAlignment.Center)
Lv.View = View.Details
Lv.GridLines = True
Lv.FullRowSelect = True
End Sub
Sub isitabel()
Dim lst As New ListViewItem
lst.Text = kp.Text
lst.SubItems.Add(nama.Text)
lst.SubItems.Add(tipe.Text)
lst.SubItems.Add(hargaM3.Text)
lst.SubItems.Add(Daerah.Text)
lst.SubItems.Add(Bbeban.Text)
lst.SubItems.Add(pajak.Text)
lst.SubItems.Add(Jpemakaian.Text)
lst.SubItems.Add(Ttagihan.Text)
lst.SubItems.Add(pembayaran.Text)
Lv.Items.Add(lst)
End Sub
Sub bersih()
kp.Text = ""
nama.Text = ""
tipe.Text = ""
Ttagihan.Text = ""
hargaM3.Text = ""
pajak.Text = ""
pembayaran.Text = ""
Jpemakaian.Text = ""
Daerah.Text = ""
Bbeban.Text = ""
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
buattabel()
kp.Items.Add("TOK-MED-100")
kp.Items.Add("PAB-BEL-101")
kp.Items.Add("SWA-BEL-102")
kp.Items.Add("PAB-MED-103")
kp.Items.Add("RUM-MED-104")
End Sub
Private Sub kp_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles kp.SelectedIndexChanged
Dim x As String
x = Microsoft.VisualBasic.Right(kp.Text, 3)
If x = "100" Then
nama.text = "Muhammad Ardianto"
ElseIf x = "101" Then
nama.Text = "Jekson Sinaga"
ElseIf x = "102" Then
nama.Text = "Triani Arista"
ElseIf x = "103" Then
nama.Text = "Aldyan"
End If
x = Microsoft.VisualBasic.Left(kp.Text, 3)
If x = "PAB" Then
HargaM3.Text = 500
Bbeban.Text = 250000
tipe.Text = "Pabrik"
ElseIf x = "TOK" Then
HargaM3.Text = 500
Bbeban.Text = 25000
tipe.Text = "Toko"
ElseIf x = "RUM" Then
HargaM3.Text = 500
Bbeban.Text = 10000
tipe.Text = "Rumah"
ElseIf x = "SWA" Then
HargaM3.Text = 200
Bbeban.Text = 15000
tipe.Text = "Swalayan"
End If
x = Microsoft.VisualBasic.Mid(kp.Text, 5, 3)
If x = "MED" Then
Daerah.Text = "Medan"
ElseIf x = "BEL" Then
Daerah.Text = "Belawan"
End If
End Sub
Private Sub Jpemakaian_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Jpemakaian.KeyPress
If Asc(e.KeyChar) = 13 Then
Ttagihan.Text = hargaM3.Text * Jpemakaian.Text + Val(Bbeban.Text)
pajak.Text = 0.01 * Ttagihan.Text
Pembayaran.Text = Val(Ttagihan.Text) + Val(pajak.Text)
End If
End Sub
Private Sub Btnkeluar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btnkeluar.Click
End
End Sub
Private Sub Btnhapus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btnhapus.Click
kp.Text = ""
nama.Text = ""
tipe.Text = ""
Ttagihan.Text = ""
hargaM3.Text = ""
pajak.Text = ""
pembayaran.Text = ""
Jpemakaian.Text = ""
Daerah.Text = ""
Bbeban.Text = ""
End Sub
Private Sub Btnsimpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btnsimpan.Click
isitabel()
bersih()
End Sub
Private Sub btnhapussemuadata_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnhapussemuadata.Click
Lv.Items.Clear()
End Sub
Private Sub Btnhapusdatayangdipilih_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btnhapusdatayangdipilih.Click
Lv.Items.Remove(Lv.SelectedItems(0))
End Sub
End Class
Hasilnya:
Minggu, 08 Desember 2013
Senin, 02 Desember 2013
Pengertian Logika & Algoritma
Algoritma adalah urutan penyelesaian masalah yang di deskripsikan secara logis untuk memecahkan suatu masalah. Dalam ilmu komputer Algoritma dikenal dengan langkah-langkah komputasi yang terdiri dari masukan dan keluaran. Karena itu Algoritma biasanya dijadikan dasar atau pengantar bahasa pemrograman (misalnya Pascal) dalam study yang berkecimpung atau berhubungan dengan ilmu komputer. Misalnya Teknik Informatika.
Seperti yang telah diketahui bahwa komputer memerlukan instruksi yang berupa langkah-langkah pengurutan sehingga sebuah prosedur dapat dijalankan. Nah, prosedur yang berisi langkah-langkah penyelesaian masalah inilah yang disebut dengan Algoritma. Jadi, Sebelum masuk kepada tahap pemrograman komputer dengan bahasa pascal/lainnya ada baiknya mempelajari Algoritma yang merupakan pengantar kepada pemrograman komputer tersebut.
Algoritma terdiri dari beberapa notasi yaitu Deskriptif, Bagan-alir, dan Pseudo-Code. Namun yang paling mirip dengan bahasa pemrograman pascal adalah notasi Pseudo-Code. Karena pada notasi ini sedikit menyerap bahasa Pascal. Meskipun tidak semua tata cara penulisan/aturan dalam bahasa pascal diikuti. Algoritma dalam notasi ini sangat cocok untuk lebih mudah memahami atau menjalankan pemrograman dalam bahasa Pascal.
Definisi Algoritma :
1. Langkah-langkah yg dilakukan agar solusi masalah dapat diperoleh.
2. Suatu prosedur yang merupakan urutan langkah-langkah yang berintegrasi
3. Suatu motode khusus yang digunakan untuk menyelesaikan suatu masalah yang nyata (Webster dictionary)
1. Langkah-langkah yg dilakukan agar solusi masalah dapat diperoleh.
2. Suatu prosedur yang merupakan urutan langkah-langkah yang berintegrasi
3. Suatu motode khusus yang digunakan untuk menyelesaikan suatu masalah yang nyata (Webster dictionary)
Kriteria Pemilihan Algoritma
1. Ada out put
2. Efektifitas dan efesiensi
3. Jumlah langkahnya berhingga
4. (semi Algoritma)àBerakhir
5. Terstruktur
1. Ada out put
2. Efektifitas dan efesiensi
3. Jumlah langkahnya berhingga
4. (semi Algoritma)àBerakhir
5. Terstruktur
1. Ada out put
Mengacu pada definisi algoritma, algoritma harus mempunyai out put yang harus merupakan solusi dari masalah yang sedang diselesaikan.
Mengacu pada definisi algoritma, algoritma harus mempunyai out put yang harus merupakan solusi dari masalah yang sedang diselesaikan.
2. Efektifitas dan efesiensi
Dikatakan efektif jika algoritma tersebut menghasilkan suatu solusi yang sesuai dengan masalah yang diselesaikan, dalam arti algoritma harus tepat guna.
Dikatakan efisien jika waktu proses suatu algoritma relatif lebih singkat dan penggunakan memori komputernya lebih sedikit.
Dikatakan efektif jika algoritma tersebut menghasilkan suatu solusi yang sesuai dengan masalah yang diselesaikan, dalam arti algoritma harus tepat guna.
Dikatakan efisien jika waktu proses suatu algoritma relatif lebih singkat dan penggunakan memori komputernya lebih sedikit.
3. Jumlah langkahnya berhingga
Barisan instruksi yang dibuat harus dalam suatu urutan tertentu atau harus berhingga agar masalah yang dihadapi dapat diselesaikan dengan tidak memerlukan waktu relatif lama.
Barisan instruksi yang dibuat harus dalam suatu urutan tertentu atau harus berhingga agar masalah yang dihadapi dapat diselesaikan dengan tidak memerlukan waktu relatif lama.
4. (semi Algoritma)àBerakhir
Penyelesaian masalah harus berhenti. Dan bias menimbulkan masalah lain.
Penyelesaian masalah harus berhenti. Dan bias menimbulkan masalah lain.
5. Terstruktur
Penyelesaian masalah menggunakan langkah-langkah tersusun
Penyelesaian masalah menggunakan langkah-langkah tersusun
Algoritma yang baik
Suatu algoritma harus menghasilkan out put yang tepat guna (efektif) dalam waktu yang relative singkat.
Suatu algoritma harus menghasilkan out put yang tepat guna (efektif) dalam waktu yang relative singkat.
ANALISA ALGORITMA
1. Bagaimana merencakan suatu algoritma
Menentukan beberapa model / desain sebagai penyelesaian masalah sehingga muncul beberapa model yang akan diambil solusi mana yang terbaik.
1. Bagaimana merencakan suatu algoritma
Menentukan beberapa model / desain sebagai penyelesaian masalah sehingga muncul beberapa model yang akan diambil solusi mana yang terbaik.
2. Bagaimana menyatakan suatu algoritma
3. Bagaimana validitas suatu algoritma
4. Bagaimana menganalisis suatu algoritma
5. Bagaimana menguji program dari suatu algoritma
3. Bagaimana validitas suatu algoritma
4. Bagaimana menganalisis suatu algoritma
5. Bagaimana menguji program dari suatu algoritma
Cara/prosedur algoritma
1. Kata-kata
2. Diagram alur
3. Statemen program
1. Kata-kata
2. Diagram alur
3. Statemen program
TAHAP PROSES UJI ALGORITMA
1. Fase Debugging
Fase dari suatu proses program eksekusi yang akan melakukan koreksi terhadap kesalahan program/ error. Kesalahan program ini dapat berupa kesalahan dalam penulisan program baik logika atau sintaknya.
Fase dari suatu proses program eksekusi yang akan melakukan koreksi terhadap kesalahan program/ error. Kesalahan program ini dapat berupa kesalahan dalam penulisan program baik logika atau sintaknya.
2. Fase profiling
Fase yang akan bekerja jika program tersebut sudah benar.
Fase yang akan bekerja jika program tersebut sudah benar.
Pengertian LOGIKA
Logika berasal dari bahasa Yunani yaitu LOGOS yang berarti ilmu. Logika pada dasarnya filsafat berpikir. Berpikir berarti melakukan suatu tindakan yang memiliki suatu tujuan.
Jadi pengertian Logika adalah ilmu berpikir / cara berpikir dengan berbagai tindakan yang memiliki tujuan tertentu.
KONSEP ALGORITMA
@ Algoritma Variabel Pe-ubah
Adalah variabel yang nilainya BUKAN konstanta (selalu berubah – sesuai dengan kondisi Variabel terkini)
Sintaks : P = Q
Algoritma : P <- Q
Arti : Bahwa Nilai P diberi harga Nilai Q
Nilai P akan SAMA DENGAN nilai Q dan Nilai Q TETAP
Contoh Soal 1:
Diketahui P=0, Q=5 dan R=10. Diberikan algoritma P=Q, Q=R, maka nilai P, Q, R sekarang ?
Jawab
Diketahui P = 0, Q = 5, R = 10
P = Q –> Pada saat ini nilai dari Variabel P akan diberi nilai dari Variabel Q (P = 5)
Q = R –> Pada saat ini nilai dari Variabel Q akan diberi nilai dari Variabel R (Q = 10)
Maka nilai P, Q dan R sekarang adalah P = 5, Q = 10 dan R = 10
Contoh Soal 2:
Diketahui Algoritma P=10, P=P+1 dan Q = P. Berapakah nilai P dan Q ?
Jawab
Algoritma:
P = 10 –> Pada saat ini nilai dari Variabel P akan diberi nilai 10
P = P + 1 –> Pada saat ini nilai dari Variabel P yang baru adalah nilai dari variabel P yang lama ditambah 1 (10 + 1 = 11)
Q = P –> Pada saat ini nilai dari variabel Q diberi nilai dari variabel P yang baru (Q =11)
Contoh Soal 3:
Diketahui 3 varibael peubah P, Q dan R. Agar isi Q ditaruh di P, isi R ditaruh di Q dan isi P ditaruh di R,maka Algoritma yang dapat ditulis adalah ..?
Jawab
Agar isi Q ditaruh di P, algoritma yang dapat ditulis adalah (P <- Q atau P=Q)
Agar isi R ditaruh di Q, algoritma yang dapat ditulis adalah (Q <- R atau Q=R)
Agar isi P ditaruh di R, algoritma yang dapat ditulis adalah (R <- P atau R=P)
@ Algoritma Variabel Pertukaran
Berfungsi mempertukarkan masing-masing isi Variabel sedemikian sehingga Nilai dari tiap Variabel akan berubah/bertukar.
Contoh Soal:
Diketahui 2 peubah K = 10 dan L = 20. Buat Algoritma untuk mempertukarkan isi K dan L .. ?
Jawab
Untuk menyelesaikan algoritma pertukaran, dibutuhkan satu buah peubah (variabel) tambahan untuk menyimpan nilai dari salah satu peubah. Algoritma pertukaran untuk masalah diatas adalah (dimisalkan variabel tambahan adalah T).
T = K –> Pada algoritma ini nilai dari variabel T (variabel tambahan) akan diisi dengan nilai dari variabel K (T = 10)
K = L –> Pada algoritma ini nilai dari Variabel K akan diisi dengan variabel L (K = 20)
L = T –> Pada algoritma ini nilai dari Variabel L akan diisi dengan variabel T (L = 10)
Setelah algoritma ini dijalankan dapat dilihat bahwa algorita diatas telah mempertukarkan nilai dari variabel-variabel tersebut. Sebelumnya variabel K = 10 dan L = 20, menjadi variabel K = 20 dan L = 10
@ Algoritma Variabel Pe-ubah
Adalah variabel yang nilainya BUKAN konstanta (selalu berubah – sesuai dengan kondisi Variabel terkini)
Sintaks : P = Q
Algoritma : P <- Q
Arti : Bahwa Nilai P diberi harga Nilai Q
Nilai P akan SAMA DENGAN nilai Q dan Nilai Q TETAP
Contoh Soal 1:
Diketahui P=0, Q=5 dan R=10. Diberikan algoritma P=Q, Q=R, maka nilai P, Q, R sekarang ?
Jawab
Diketahui P = 0, Q = 5, R = 10
P = Q –> Pada saat ini nilai dari Variabel P akan diberi nilai dari Variabel Q (P = 5)
Q = R –> Pada saat ini nilai dari Variabel Q akan diberi nilai dari Variabel R (Q = 10)
Maka nilai P, Q dan R sekarang adalah P = 5, Q = 10 dan R = 10
Contoh Soal 2:
Diketahui Algoritma P=10, P=P+1 dan Q = P. Berapakah nilai P dan Q ?
Jawab
Algoritma:
P = 10 –> Pada saat ini nilai dari Variabel P akan diberi nilai 10
P = P + 1 –> Pada saat ini nilai dari Variabel P yang baru adalah nilai dari variabel P yang lama ditambah 1 (10 + 1 = 11)
Q = P –> Pada saat ini nilai dari variabel Q diberi nilai dari variabel P yang baru (Q =11)
Contoh Soal 3:
Diketahui 3 varibael peubah P, Q dan R. Agar isi Q ditaruh di P, isi R ditaruh di Q dan isi P ditaruh di R,maka Algoritma yang dapat ditulis adalah ..?
Jawab
Agar isi Q ditaruh di P, algoritma yang dapat ditulis adalah (P <- Q atau P=Q)
Agar isi R ditaruh di Q, algoritma yang dapat ditulis adalah (Q <- R atau Q=R)
Agar isi P ditaruh di R, algoritma yang dapat ditulis adalah (R <- P atau R=P)
@ Algoritma Variabel Pertukaran
Berfungsi mempertukarkan masing-masing isi Variabel sedemikian sehingga Nilai dari tiap Variabel akan berubah/bertukar.
Contoh Soal:
Diketahui 2 peubah K = 10 dan L = 20. Buat Algoritma untuk mempertukarkan isi K dan L .. ?
Jawab
Untuk menyelesaikan algoritma pertukaran, dibutuhkan satu buah peubah (variabel) tambahan untuk menyimpan nilai dari salah satu peubah. Algoritma pertukaran untuk masalah diatas adalah (dimisalkan variabel tambahan adalah T).
T = K –> Pada algoritma ini nilai dari variabel T (variabel tambahan) akan diisi dengan nilai dari variabel K (T = 10)
K = L –> Pada algoritma ini nilai dari Variabel K akan diisi dengan variabel L (K = 20)
L = T –> Pada algoritma ini nilai dari Variabel L akan diisi dengan variabel T (L = 10)
Setelah algoritma ini dijalankan dapat dilihat bahwa algorita diatas telah mempertukarkan nilai dari variabel-variabel tersebut. Sebelumnya variabel K = 10 dan L = 20, menjadi variabel K = 20 dan L = 10
Pengenalan Bahasa Pemrograman C++
SEKILAS MENGENAI BAHASA PEMROGRAMAN C DAN C++
Bahasa pemrograman C++ merupakan superset dari bahasa pendahulunya yaitu bahasa pemrograman C. Bahasa pemrograman C dikembangkan oleh Dennis Ritchie pada tahun 1972 di Laboratorium Bell. Bahasa pemrograman C adalah bahasa pemrograman yang dapat dikatakan berada antara bahasa tingkat rendah (berorientase mesin) dan bahasa tingkat tinggi (bahasa berorientase pada manusia). Bahasa pemrograman C berada satu tingkat di atas bahasa yang berorientasi pada mesin, namun tetap satu tingkat dibawah sebagian besar bahasa yang berorientasi persoalan. Bahasa pemrograman C cukup dekat dengan komputer untuk memberikan kendali yang besar terhadap detil implementasi pemakaian, namun cukup jauh untuk mengabaikan detil hardware. Karena itulah bahasa pemrograman C suatu ketika dipandang sebagai bahasa high-level dan pada saat yang lain dilihat sebagai bahasa low-level.
Bahasa pemrograman C merupakan bahasa pemrograman terstruktur, yang membagi program kedalam bentuk sebuah blok. Tujuannya adalah untuk memudahkan dalam pembuatan dan pengembangan program. Program yang ditulis dengan bahasa pemrograman C mudah sekali untuk dipindahkan dari satu jenis mesin ke jenis mesin lainnya. Hal ini berkat adanya standarisasi bahasa pemrograman C yaitu berupa standar ANSI (American National Standards Institute) yang dijadikan acuan oleh para pembuat kompiler C.
Bahasa Pemrograman C++ Membawa Bahasa Pemrograman C ke Lingkungan Pemrograman Berorientasi Obyek
Setelah bahasa pemrograman C, menyusul apa yang kita kenal dengan bahasa pemrograman C++. Bahasa pemrograman C++ tetap mempertahankan kehebatan C, termasuk kemampuan dan keluwesannya dalam menangani interface hardware dan software, pemrograman low-levelnya, serta efisiensinya. bahasa pemrograman C++ diciptakan satu dekade setelah C. Diciptakan oleh Bjarne Stoustrup, Laboratorium Bell, AT&T, pada tahun 1983.
Bahasa pemrograman C diambil sebagai landasan dari C++, mengingat keportabilitasan C yang memungkinkannya diterapkan pada berbagai mesin, dari PC hingga mainframe, serta pada pelbagai sistem operasi (DOS, UNIX, VMS dan sebagainya). Namun bahasa pemrograman C++ membawa C ke dunia pemrograman berorientasi obyek, dan tetap mempertahankan keterpaduan dan efisiensi eksekusi C.
Keistimewaan yang sangat berarti pada bahasa pemrograman C++ adalah karena bahasa ini mendukung pemrograman berorientasi obyek. Tetapi bahasa pemrograman C++ hanyalah bahasa yang bersifat hibrid, bukan bahasa murni yang berorientasi obyek. Karena itu, bahasa pemrogram C pada tahap awal dapat berpindah jalur ke C++ setahap demi setahap. Pustaka-pustaka yang dibangun dengan C tetap dapat dipakai pada C++, dibaurkan dengan pemrograman yang berorientasi obyek.
Tujuan utama pembuatan bahasa pemrograman C++ adalah untuk meningkatkan produktivitas pemrograman dalam bahasa aplikasi. Kebanyakan pakar setuju bahwa pemrograman berorientasi obyek dan C++ dapat mengurangi kekompleksitasan, terutama pada program yang besar yang terdiri dari 10.000 baris atau lebih.
Tujuan utama pembuatan bahasa pemrograman C++ adalah untuk meningkatkan produktivitas pemrograman dalam bahasa aplikasi. Kebanyakan pakar setuju bahwa pemrograman berorientasi obyek dan C++ dapat mengurangi kekompleksitasan, terutama pada program yang besar yang terdiri dari 10.000 baris atau lebih.
ELEMEN DASAR BAHASA PEMROGRAMAN C++
1. Identifier (Pengenal) Bahasa C++
Identifier adalah nama yang digunakan untuk mempresentasikan variabel, konstanta, jenis (type), fungsi, dan nama program. Identifier dalam pendeklarasian variabel, jenis, atau fungsi pada bahasa pemrograman C++ dimulai dengan sebuah huruf atau garis bawah. Karakter-karakter lain dalam sebuah identifier dapat berupa huruf, angka, garis bawah, atau tanda dollar. Compiler C++ membedakan huruf kecil dan besar. Variabel NAMA_PEGAWAI dan nama_pegawai dipandang sebagai dua identifier yang menggambarkan variabel memori yang berbeda. Contoh identifier yang diperkenankan untuk dipakai: a atau akelas atau kelas$ atau _kelas atau _KELAS$, sedangkan identifier yang tidak diperbolehkan untuk dipakai: $KELAS atau 7kelas atau kelas! atau ..kelas.
2. Himpunan Karakter
Himpunan karakter pada C++ terdiri dari huruf, digit maupun simbol-simbol lainnya (termasuk spasi, karakter kontrol)
Huruf: A B C D E F G H I J K L M N O P Q R S T U V W X Z Y a b c d e f g h i j k l m n o p q r s t u v w x y z
Digit: 0 1 2 3 4 5 6 7 8 9
Simbol dan lain-lain: _ - + * dan sebagainya.
Huruf: A B C D E F G H I J K L M N O P Q R S T U V W X Z Y a b c d e f g h i j k l m n o p q r s t u v w x y z
Digit: 0 1 2 3 4 5 6 7 8 9
Simbol dan lain-lain: _ - + * dan sebagainya.
3. Kata-kata Kunci
Kata kunci (keyword) adalah pengenal sistem yang mempunyai makna khusus bagi kompiler. Kegunaan dari golongan ini tidak dapat diubah. Karena itu kata kunci tidak dapat digunakan sebagai pengenal yang dibuat oleh pemrogram.
Kata kunci diusulkan ANSI:
auto, double, int, struct, break, else, loop, switch, case, enum, register, typedef, char, extern, return, union, const, float, short, unsigned, continue, for, signed, void, default, goto, sizeof, volatile, do, if, static, while
Sedangkan turbo C memperluasnya dengan menambahkan beberapa kata kunci:
_cs, _ss, far, near, _ds, asm, huge, pascal, _es, cdecl, interrupt
Sementara itu, Microsoft C/C++ menambah beberapa kata kunci:
_asm, _loadds, _cdecl, _huge, _far, _pascal, _export, _interrupt, _fortran, _segname, _near, _saveregs, _segment, _syscall, _self, _stdcall, _fastcall, _based
auto, double, int, struct, break, else, loop, switch, case, enum, register, typedef, char, extern, return, union, const, float, short, unsigned, continue, for, signed, void, default, goto, sizeof, volatile, do, if, static, while
Sedangkan turbo C memperluasnya dengan menambahkan beberapa kata kunci:
_cs, _ss, far, near, _ds, asm, huge, pascal, _es, cdecl, interrupt
Sementara itu, Microsoft C/C++ menambah beberapa kata kunci:
_asm, _loadds, _cdecl, _huge, _far, _pascal, _export, _interrupt, _fortran, _segname, _near, _saveregs, _segment, _syscall, _self, _stdcall, _fastcall, _based
4. Tipe Data Bahasa C++
Tipe data dasar pada C++, yakni: teks (char), nilai integer (int, short, long), nilai floating-point (float, double, long double), dan enumerated (enum). Jika jenis data yang didefinisikan adalah variabel enumerated, maka ini terkait dengan konstanta integer yang telah diberi nama enumeration set. Dalam bahasa pemrograman C, jenis enum dianggap ekivalen dengan jenis int, sehingga memungkinkan sebuah program untuk memberikan nilai integer langsung pada variabel enumerated. Namun dalam bahasa pemrograman C++, ada mekanisme pemeriksaan jenis data yang ketat, dan tidak memperkenankan operasi campuran seperti ini.
Setiap bahasa memakai seperangkat karakter untuk mengekspresikan pernyataan yang mengandung arti. Bahasa pemrograman C++ ditulis menggunakan sejumlah karakter yang meliputi: 26 huruf kecil (a, b, c, ... dstnya) dan 26 huruf besar (A, B, C, ... dstnya); 10 angka (0, 1, 2, 3, 4, 5, 6, 7, 8, 9); dan lambang-lambang (+ - * = / . , : ; ? ' \ " ! @ # $ % ^ & * ( ) { } [ ]).
Ukuran memori yang diperlukan untuk masing-masing tipe data sangat bergantung pada perangkat keras dari komputer yang digunakan. Karena itu jangkauan bilangan dari masing-masing tipe data juga bisa berlainan antara satu jenis mesin dengan mesin lainnya. Nilai yang tercakup pada tipe data bilangan (bulat maupun pecahan) pada arsitektur PC yang berbasis DOS, adalah sebagai berikut:
Tipe data Ukuran memori Jangkauan nilai
char 1 byte -128 s/d +127
int 2 byte -32768 hingga +32767
short 2 byte -32.768 s/d 32.767
long 4 byte -2.147.438.648 s/d 2.147.438.647
float 4 byte 3,4x10-36 s/d 3,4x10+38
double 8 byte 1,7x10-308 s/d 1,7x10+308
long double 10 byte 3,4x10_4932 s/d 1,1x10+4932
enum 2 byte -32.768 s/d 32.767
pointer 2 byte (near, based)
pointer 4 byte (far, huge)
char 1 byte -128 s/d +127
int 2 byte -32768 hingga +32767
short 2 byte -32.768 s/d 32.767
long 4 byte -2.147.438.648 s/d 2.147.438.647
float 4 byte 3,4x10-36 s/d 3,4x10+38
double 8 byte 1,7x10-308 s/d 1,7x10+308
long double 10 byte 3,4x10_4932 s/d 1,1x10+4932
enum 2 byte -32.768 s/d 32.767
pointer 2 byte (near, based)
pointer 4 byte (far, huge)
4.1. Tipe Data Tertentu
Modifier unsigned:
Yang termasuk jenis data modifier unsigned yang dapat diterapkan pada char, int, short, long adalah void dan pointer. Bila salah satu jenis data di atas dimodifikasi menjadi usigned, dapat dipandang range nilai yang bisa dijangkau mempresentasikan bilangan seperti pada angka yang ditunjukkan oleh jumlah kilometer yang telah ditempuh pada mobil atau sepeda motor. Angka tersebut dimulai dari 0000... dan mencapai maksimum 9999..., dan kembali ke 0000... Jadi dalam unsigned, yang ditampilkan hanyalah bilangan positif keseluruhan dalam range nol sampai ke bilangan maksimum yang dapat diprepresentasikannya.
Tipe data Ukuran memori Jangkauan nilai
unsigned char 1 byte 0 s/d 255
unsigned int 2 byte 0 s/d 32767
unsigned short 2 byte 0 s/d 32.767
unsigned long 4 byte 0 s/d 2.147.438.647
Modifier signed:
Digunakan untuk memperluas tanda yang digunakan integer dan karakter. Cara ini memungkinkan untuk menyimpan suatu nilai dalam bentuk bilangan positif atau negatif.
Tipe data Ukuran memori Jangkauan nilaisigned char 1 byte -128 s/d +127
signed int 2 byte -32768 hingga +32767
signed short 2 byte -32.768 s/d 32.767
signed long 4 byte -2.147.438.648 s/d 2.147.438.647
unsigned char 1 byte 0 s/d 255
unsigned int 2 byte 0 s/d 32767
unsigned short 2 byte 0 s/d 32.767
unsigned long 4 byte 0 s/d 2.147.438.647
Modifier signed:
Digunakan untuk memperluas tanda yang digunakan integer dan karakter. Cara ini memungkinkan untuk menyimpan suatu nilai dalam bentuk bilangan positif atau negatif.
Tipe data Ukuran memori Jangkauan nilaisigned char 1 byte -128 s/d +127
signed int 2 byte -32768 hingga +32767
signed short 2 byte -32.768 s/d 32.767
signed long 4 byte -2.147.438.648 s/d 2.147.438.647
Untuk mengetahui ukuran memori yang diperlukan oleh semua tipe data, bisa dilihat dengan meng-compiler dan mengeksekusi contoh program sederhana, berikut:
//* Menentukan ukuran memori *
#include <iostream.h>
#include <conio.h>
void main()
{
clrscr();
cout << "Ukuran char : " << sizeof(char) << '\n';
cout << "Ukuran short : " << sizeof(short) << '\n';
cout << "Ukuran int : " << sizeof(int) << '\n';
cout << "Ukuran long : " << sizeof(long) << '\n';
cout << "Ukuran float : " << sizeof(float) << '\n';
cout << "Ukuran double : " << sizeof(double) << '\n';
cout << "Ukuran long double : " << sizeof(long double) << '\n';
}
Penjelasan program:
#include <iostream.h>
#include <conio.h>
void main()
{
clrscr();
cout << "Ukuran char : " << sizeof(char) << '\n';
cout << "Ukuran short : " << sizeof(short) << '\n';
cout << "Ukuran int : " << sizeof(int) << '\n';
cout << "Ukuran long : " << sizeof(long) << '\n';
cout << "Ukuran float : " << sizeof(float) << '\n';
cout << "Ukuran double : " << sizeof(double) << '\n';
cout << "Ukuran long double : " << sizeof(long double) << '\n';
}
Penjelasan program:
Pemrograman C++ tidak terlepas dari fungsi. Sebab fungsi adalah salah satu dasar penyusunan blok pada C++. Sebuah program C++ minimal mengandung sebuah fungsi main(). Fungsi ini menjadi awal dan akhir eksekusi program C++. main adalah nama judul fungsi. Sedangkan yang dimulai dari tanda { hingga tanda } disebut tubuh fungsi. Semua yang terletak di dalam tanda {} disebut blok. Tanda () digunakan untuk mengapit argumen fungsi, yaitu nilai yang akan dilewatkan ke fungsi. Kata void yang mendahului main() dipakai untuk menyetakan bahwa fungsi ini tidak memiliki nilai balik.
Pengenal cout merupakan sebuah obyek di dalam C++. Obyek ini disediakan oleh C++ untuk mengarahkan data ke standard output (normalnya adalah layar), sebagai contoh tambahan misalnya:
cout << "Hallo! Selamat datang di website ideelok \n";
Tanda << merupakan sebuah operator yang disebut operator penyisipan/peletakan. Operator ini akan mengarahkan operand (data) yang terletak di sebelah kanan obyeknya ke obyek yang terletak di sebelah kiri. Pada pernyataan di atas, konstanta string "Hallo! Selamat datang di website ideelok \n" diarahkan ke cout, yang memberikan hasil berupa tampilan string tersebut ke layar. Didalam sebuah string, karakter \ diikuti dengan karakter tertentu menyatakan sebuah karakter tunggal. Pada contoh \n adalah karakter pindah baris (newline).
Pada baris #include <iosterm.h>, baris ini menginstruksikan kepada kompiler untuk menyiapkan file lain pada saat program dikompolasi. Dalam hal ini file-file yang berakhiran dengan .h disebut file header, yaitu file-file yang berisi berbagai deklarasi, seperti fungsi, variabel dan sebagainya. #include <iostream.h> perlu disertakan pada program yang melibatkan obyek cout. Tanpa kehadiran baris tersebut akan terjadi kesalahan program sewaktu program dikompilasi. Sebab file iostream.h berisi deklarasi yang diperlukan oleh cout dan berbagai obyek yang berhubungan dengan operasi masukan-keluaran pada stream.
Pada baris clrscr(); adalah perintah untuk menghapus layar. Apabila pernyataan di atas digunakan, baris #include <conio.h> perlu disertakan dalam program.
5. Variabel dan Konstanta Bahasa C++
Data pada C++ tersusun dari variabel dan konstanta. Variabel merupakan komponen penting pada pemrograman. Variabel digunakan dalam program untuk menyimpan suatu nilai, dengan nilai yang ada padanya dapat diubah selama eksekusi program berlangsung. Adapun konstanta menyatakan nilai yang tetap. Misalnya 234 adalah sebuah konstanta bilangan bulat.
5.1. Mendeklarasikan dan Mendefinisikan Variabel
Variabel yang akan digunakan dalam program haruslah dideklarasikan terlebih dahulu, maksudnya mengenalkan sebuah pengenal ke program dan menentukan jenis data yang bisa disimpan di dalamnya. Apabila suatu pendeklarasian menyebabkan pengalokasian memori, maka pendeklarasian tersebut dinamakan pendefinisian. Yang jelas pendefinisian berarti pula pendeklarasian, tetapi tidak semua pendeklarasian berarti pendefinisian.
bentuk pendefinisian variabel:
tipe daftar_variabel;
Pada pendefinisian variabel, daftar_variabel dapat berupa sebuah variabel atau beberapa variabel yang dipisahkan dengan koma.
bentuk pendefinisian variabel:
tipe daftar_variabel;
Pada pendefinisian variabel, daftar_variabel dapat berupa sebuah variabel atau beberapa variabel yang dipisahkan dengan koma.
5.2. Memberikan Nilai ke Variabel
Bentuk pernyataan yang digunakan untuk memberikan nilai ke variabel adalah:
variabel = nilai;
Contoh:
jumlah = 10;
harga_barang = 1500;
variabel = nilai;
Contoh:
jumlah = 10;
harga_barang = 1500;
5.3. Variabel dan Konstanta Bertipe char
Bentuk pernyataan variabel bertipe char:
char karakter;
Dalam hal ini variabel karakter bertipe char. Variabel ini dapat menampung data sebuah karakter. Untuk menuliskan sebuah konstanta bertipe char, karakter perlu ditulis di dalam tanda petik tunggal, contoh: 'A' karakter berupa huruf A.
Karakter yang ditulis dengan bentuk \karakter mempunyai arti tersendiri (karakter khusus) dan biasa disebut escape sequence characters.
Karakter-karakter khusus tersebut antara lain:
\0 artinya karakter ber-ASCII nol (karakter nul)
\a artinya karakter bel
\b artinya karakter backspace
\f artinya karakter formfeed (ganti halaman)
\n artinya karakter newline (pindah baris)
\r artinya karakter carriage return (ke awal baris) tanpa linefeed
\t artinya karakter tab horizontal
\v artinya karakter tab vertikal
\\ artinya karakter \
\' artinya karakter '
\" artinya karakter "
\? artinya karakter ?
\ooo artinya karakter yang nilai oktalnya adalah ooo (tiga digit oktal)
\xhh artinya karakter yang nilai heksadesimalnya adalah hh (dua digit heksadesimal)
char karakter;
Dalam hal ini variabel karakter bertipe char. Variabel ini dapat menampung data sebuah karakter. Untuk menuliskan sebuah konstanta bertipe char, karakter perlu ditulis di dalam tanda petik tunggal, contoh: 'A' karakter berupa huruf A.
Karakter yang ditulis dengan bentuk \karakter mempunyai arti tersendiri (karakter khusus) dan biasa disebut escape sequence characters.
Karakter-karakter khusus tersebut antara lain:
\0 artinya karakter ber-ASCII nol (karakter nul)
\a artinya karakter bel
\b artinya karakter backspace
\f artinya karakter formfeed (ganti halaman)
\n artinya karakter newline (pindah baris)
\r artinya karakter carriage return (ke awal baris) tanpa linefeed
\t artinya karakter tab horizontal
\v artinya karakter tab vertikal
\\ artinya karakter \
\' artinya karakter '
\" artinya karakter "
\? artinya karakter ?
\ooo artinya karakter yang nilai oktalnya adalah ooo (tiga digit oktal)
\xhh artinya karakter yang nilai heksadesimalnya adalah hh (dua digit heksadesimal)
5.4. Variabel dan Konstanta Bertipe int
Variabel bertipe int didefinisikan dengan bentuk:
int bilangan;
int bilangan;
Setelah pendefinisian seperti itu, variabel ini dapat digunakan untuk menampung nilai bertipe int. Sebuah konstanta bertipe int adalah bilangan bulat yang terletak antara minus 32768 hingga plus 32767 (pada PC berbasis DOS) dan tidak mengandung titik desimal.
5.5. Variabel dan Konstanta Bertipe long
Apabila diinginkan untuk memproses bilangan bulat yang nilainya lebih besar daripada tipe int, Anda dapat menggunakan tipe long. Suatu variabel bertipe long didefinisikan dengan cara seperti di bawah ini:
long jumlah_penduduk;
Pada contoh ini, jumlah_penduduk didefinisikan bertipe long. Dengan demikian variabel ini dapat menampung nilai ratusan juta. Adapun konstanta bertipe long biasa ditulis dengan akhiran L. Sebagai contoh: 1543267635435L
long jumlah_penduduk;
Pada contoh ini, jumlah_penduduk didefinisikan bertipe long. Dengan demikian variabel ini dapat menampung nilai ratusan juta. Adapun konstanta bertipe long biasa ditulis dengan akhiran L. Sebagai contoh: 1543267635435L
5.6. Variabel dan Konstanta Bertipe float, double dan long double
Tipe-tipe data yang telah dibahas di depan (char, int dan long) berhubungan dengan bilangan bulat. Seandainya diinginkan untuk memproses bilangan yang mengandung nilai pecahan, bisa menggunakan tipe float, double atau long double. Ketiga tipe yang berhubungan dengan bilangan pecahan ini mempunyai perbedaan dalam hal: kepresisian data, dan jangkauan nilai yang dicakup.
Contoh pendefinisian variabel untuk menampung bilangan pecahan:
float panjang;
double phi;
long double tetapan;
float panjang;
double phi;
long double tetapan;
5.7. Inisialisasi Variabel
Adakalanya dalam penulisan program, variabel langsung diberi nilai awal setelah didefinisikan. Sebagai contoh:
int jumlah;
jumlah = 80;
Dua pernyataan seperti di atas sebenarnya dapat diangkat melalui pendefinisian yang disertai penugasan nilai, seperti berikut:
int jumlah = 80;
int jumlah;
jumlah = 80;
Dua pernyataan seperti di atas sebenarnya dapat diangkat melalui pendefinisian yang disertai penugasan nilai, seperti berikut:
int jumlah = 80;
OPERATOR BAHASA PEMROGRAMAN C++
Operator merupakan simbol yang biasa dilibatkan dalam program untuk melakukan sesuatu operasi atau manipulasi, misalnya untuk menjumlahkan dua buah nilai, memberikan nilai pada suatu variabel, ataupun membandingkan kesamaan dua buah nilai. Bahasa pemrograman C++ mempunyai banyak operator yang tidak didapat dalam bahasa pemrograman lain, antara lain: operator bitwise, operator inkremen dan dekremen, operator kondisional, operator koma, operator aritmatika dan lain-lain.
a) Operator bitwise
Operator bitwise pada bahasa pemrograman C++ memperlakukan variabel sebagai gabungan dari bit-bit dan bukan sebagai bilangan. Operator ini berguna untuk mengakses bit-bit individual dalam memori, seperti memori screen untuk display grafik, informasi CapsLock (on atau off). Operator bitwise ini hanya dapat beroperasi pada jenis data integral, bukan bilangan floating-point. Tiga operator bitwise berkelakuan seperti operator logika, namun ini terjadi pada setiap bit dalam sebuah integer, yakni: AND (&), OR(I), dan XOR (^), komplemen (~) membalik (menginversi) setiap bit, operator shift kiri (<<), dan operator shift kanan (>>).
ANDSimbol operator: &, dengan bentuk penggunaan : operand1 & operand2
Operasi AND bitwise membandingkan dua bit; jika kedua bit tersebut adalah 1, maka hasilnya 1, selain itu hasilnya 0.
Logika AND:
Bit 0 Bit 1 Hasil
0 0 0
0 1 0
1 0 1
1 1 1
OR
Simbol operator I, dengan bentuk pemakaian : operand1 I opeand2
Operasi OR bitwise membandingkan dua bit dan memberikan hasil 1 jika kedua bit yang dibandingkan itu salah satu atau keduanya 1.
Logika OR:
Bit 0 Bit 1 Hasil
0 0 0
0 1 1
1 0 1
1 1 1
XOR
Simbul operator: ^, dengan bentuk penggunaan : operand1 ^ operand2
Operasi EXCLUSIVE OR (XOR) bitwise membandingkan dua bit dan memberikan hasil 1 bila kedua bit merupakan komplementer satu sama lain.
Logika XOR:
Bit 0 Bit 1 Hasil
0 0 0
0 1 1
1 0 1
1 1 0
Contoh program operasi I, & dan ^:
//* Efek operator I, & dan ^ *
#include <iostream.h>
#include <conio.h>
void main()
{
unsigned char angka1 = 81;
unsigned char angka2 = 99;
unsigned char a, b, c;
clrscr();
a = angka1 I angka2; //operasi OR
b = angka1 & angka2; //operasi AND
c = angka1 ^ angka2; //operasi XOR
cout << "a= " << a << '\n';
cout << "b= " << b << '\n';
cout << "c= " << c << '\n';
}
Hasil eksekusi program di atas, adalah:
a= 115
b= 65
c= 50
Penjelasan hasil program:
Operasi OR pada a:
0000 0000 0101 0001 <- 81
0000 0000 0110 0011 <- 99
-------------------------------
0000 0000 0 1 1 0011 <- 115
Operasi AND pada b:
0000 0000 0101 0001 <- 81
0000 0000 0110 0011 <- 99
-------------------------------
0000 0000 0100 0001 <- 65
Operasi XOR pada c:
0000 0000 0101 0001 <- 81
0000 0000 0110 0011 <- 99
-------------------------------
0000 0000 0011 0010 <- 50
Operasi AND bitwise membandingkan dua bit; jika kedua bit tersebut adalah 1, maka hasilnya 1, selain itu hasilnya 0.
Logika AND:
Bit 0 Bit 1 Hasil
0 0 0
0 1 0
1 0 1
1 1 1
OR
Simbol operator I, dengan bentuk pemakaian : operand1 I opeand2
Operasi OR bitwise membandingkan dua bit dan memberikan hasil 1 jika kedua bit yang dibandingkan itu salah satu atau keduanya 1.
Logika OR:
Bit 0 Bit 1 Hasil
0 0 0
0 1 1
1 0 1
1 1 1
XOR
Simbul operator: ^, dengan bentuk penggunaan : operand1 ^ operand2
Operasi EXCLUSIVE OR (XOR) bitwise membandingkan dua bit dan memberikan hasil 1 bila kedua bit merupakan komplementer satu sama lain.
Logika XOR:
Bit 0 Bit 1 Hasil
0 0 0
0 1 1
1 0 1
1 1 0
Contoh program operasi I, & dan ^:
//* Efek operator I, & dan ^ *
#include <iostream.h>
#include <conio.h>
void main()
{
unsigned char angka1 = 81;
unsigned char angka2 = 99;
unsigned char a, b, c;
clrscr();
a = angka1 I angka2; //operasi OR
b = angka1 & angka2; //operasi AND
c = angka1 ^ angka2; //operasi XOR
cout << "a= " << a << '\n';
cout << "b= " << b << '\n';
cout << "c= " << c << '\n';
}
Hasil eksekusi program di atas, adalah:
a= 115
b= 65
c= 50
Penjelasan hasil program:
Operasi OR pada a:
0000 0000 0101 0001 <- 81
0000 0000 0110 0011 <- 99
-------------------------------
0000 0000 0 1 1 0011 <- 115
Operasi AND pada b:
0000 0000 0101 0001 <- 81
0000 0000 0110 0011 <- 99
-------------------------------
0000 0000 0100 0001 <- 65
Operasi XOR pada c:
0000 0000 0101 0001 <- 81
0000 0000 0110 0011 <- 99
-------------------------------
0000 0000 0011 0010 <- 50
b) Operator Shift
Operator >> dan << pada bahasa pemrograman C++ berguna untuk menggeser bit-bit dalam suatu bilangan bulat ke kiri atau ke kanan. Shift kiri menggerakkan bit-bit ke kiri dan mengatur bit paling kanan (yang tidak signifikan) menjadi nol. Sedangkan bit paling kiri (paling signifikan) yang ter-shift keluar akan dibuang. Sementara itu, operator shift kanan menggerakkan bit-bit ke kanan. Bit-bit dengan orde lebih rendah yang ter-shift keluar akan dibuang. Pergeseran bit ke kiri mempunyai efek seperti perkalian, sedangkan pergeseran ke kanan memberikan efek seperti pembagian.
b.1) Operastor shift kiri
Bentuk umum dipakai: nilai << jumlah bit digeser ke kiri
Setiap pergeseran sebuah bit akan memberikan pengaruh seperti halnya perkalian dengan bilangan dua. Untuk lebih jelasnya perhatikan contoh berikut beserta hasilnya:
//* Operator SHIFT KIRI *
#include <iostream.h>
#include <conio.h>
main()
{
unsigned char x = 93;
clrscr();
cout << "Nilai x semula = " << x << '\n';
x = x << 1; // geser ke kiri 1 bit
cout << "Nilai x kini = " << x << '\n';
}
Hasil eksekusi program:
Nilai x semula = 93
Nilai x kini = 186
Penjelasan hasil program:
0000 0000 0101 1101 <- 93
digeser ke kiri 1 bit
0000 0000 1011 1010 <- 186
di bagian kanan selalu disisipi dengan nol sebanyak bit yang digeser.
b.2) Operator shift kanan
Bentuk umum dipakai: nilai >> jumlah bit digeser ke kanan
Setiap pergeseran sebuah bit akan memberikan pengaruh seperti halnya pembagian dengan bilangan dua. Untuk lebih jelasnya perhatikan contoh berikut beserta hasilnya:
//* OPERATOR SHIFT KANAN *
#include <iostream.h>
#include <conio.h>
void main()
{
unsigned char x = 93;
clrscr();
cout << "Nilai x semula = " << x << '\n';
x = x >> 1; // geser kekanan 1 bit
cout << "Nilai x kini = " << x << '/n';
}
Hasil eksekusi program:
Nilai x semula = 93
Nilai x kini = 46
Penjelasan hasil program:
0000 0000 0101 1101 <- 93
digeser ke ke kanan 1 bit
0000 0000 0010 1110 <- 186
di bagian kiri selalu disisipi dengan nol sebanyak bit yang digeser.
c) Operator Komplemen
Operator ini mempunyai sifat membalik (menginversi) nilai setiap bit. Jika bit operand bernilai 1 hasilnya 0, dan bila bit operand bernilai 0 hasilnya 1.
Contoh pemakaian operator komplemen:
//* Operator komplemen *
#include <iostream.h>
#include <conio.h>
main()
{
unsigned char nilai = 81;
unsigned char a;
clrscr();
a = ~nilai; // komplemen dari nilai
cout << "a = " << a << '\n';
}
Hasil eksekusi program:
a = 65454
Penjelasan hasil program:
0000 0000 0101 0001 <- 81
inversinya menjadi
1111 1111 1010 1110 <- 6554
d) Operator Aritmatika
Bahasa C++ melibatkan operator aritmatika standar untuk penjumlahan (+), pengurangan (-), perkalian (*), pembagian (/), dan modulus (%). Operator aritmatika tersebut tergolong sebagai operator binary. Adapun operator yang tergolong sebagai operator unary yaitu tanda minus (-), dan tanda plus (+).
Prioritas operator :
Operator dengan prioritas tinggi akan diutamakan dalam hal pengerjaan dibandingkan dengan operator yang memiliki prioritas lebih rendah.
Prioritas 1: + --
Prioritas 2: - (unary minus)
Prioritas 3: * / %
Prioritas 4: + -
Apabila operastor memiliki prioritas yang sama, operator yang terletak disebelah kiri dalam suatu ungkapan yang akan diutamakan untuk dikerjakan terlebih dahulu.
Tanda kurung biasa digunakan untuk urutan mengerjakan, misalnya x = (2 + 3) * 2;
(2 + 3 akan dikerjakan terlebih dahulu baru dikalikan dengan 2)
Contoh program:
//* Operasi aritmatika dengan menggunakan tanda kurung) *
#include <iostream.h>
#include <conio.h>
void main()
{
clrscr();
int x;
x = 2 + 3 * 2;
cout << "x= " << x << '\n';
x = (2 + 3) * 2;
cout << "x= " << x << '\n';
}
Hasil eksekusi program:
x= 8
x= 12
Operator seperti penjumlahan, pengurangan, perkalian dan pembagian merupakan hal yang umum. Adapun operator sisa pembagian (operator modulus) yang berupa % ada baiknya untuk diterangkan lebih lanjut. Operator ini diterapkan pada operan bertipe integer. Untuk lebih jelasnya perhatikan beberapa contoh berikut:
7 % 2 -> 1 sisa pembagian bilangan 7 dengan 2 adalah 1
9 % 5 -> 4 sisa pembagian bilangan 9 dengan 5 adalah 4
Contoh program
//* sisa pembagian (modulus) *
#include <iostream.h>
#include <conio.h>
void main()
{
clrscr();
cout << 9 % 5 << '\n';
cout << 13 % 5 << '\n';
}
Hasil eksekusi program:
4
3
e) Operator Assigenment
Operator assigenment dalam bahasa pemrograman C/C++ berbeda dengan statement assigenment dalam bahasa yang lain. Assigenment dilakukan oleh operator assigenment dan bukan oleh staement assigenment. Seperti operator bahasa pemrograman C++ yang lain, hasil operator assigenment merupakan nilai yang diberikan. Misalnya :
nilai = 4 * (bilangan = 3)
Disini bilangan diberikan nilai 3. Nilai 3 ini dikali dengan 4, sehingga nilai mendapatkan hasil akhir 12.
Resep Cara Membuat Ayam Penyet Paling Enak
Informasi buat anda yang hoby memasak, pada kesempatan kali ini admin akan kembali berbagi kreasi dengan anda semua yang mana kita akan mencoba membuat makanan dengan berbahan dasar Ayam , Resep Masakan , memang makanan yang satu cukup populer dikalangan masyarakat dan banyak menjadi makanan favorit, nah bila anda ingin mencoba membuatnya dirumah? berikut akan admin berikan artikel terbaik seputar Resep Cara Membuat Ayam Penyet Paling Enak :
Resep Masakan - Ayam Penyet merupakan suatu makanan kuliner yang banyak diminati oleh orang-orang selain rasanya yang enak ayam penyet juga dapat memanjakan perut anda, apakah berminat untuk membuatnya? berikut akan admin berikan resepnya :
Cara Membuat
Bahan
Haluskan
Bahan Sambal
Cara Membuat Ayam Penyet :
Campurkan bumbu halus,jahe,dan lengkuas dengan daging ayam dan air,lalu ungkep sampai daging ayam empuk.Angkat,sisihkan.
Goreng daging ayam sampai berwarna kecokelatan(jangan terlalu kering),angkat,tiriskan.
Haluskan semua bahan sambal,masukkan daun kemangi,tumbuk kasar.
Masukkan ayam goreng,tekan-tekan(penyet)kedua sisinya sampai sambal menempel pada daging,sajikan.
Demikian Informasi terbaru seputar Resep Cara Membuat Ayam Penyet Paling Enak, semoga artikel diatas dapat bermanfaat buat anda sekalian, jadikan ini sebagai inspirasi untuk anda memasak.
Resep Masakan - Ayam Penyet merupakan suatu makanan kuliner yang banyak diminati oleh orang-orang selain rasanya yang enak ayam penyet juga dapat memanjakan perut anda, apakah berminat untuk membuatnya? berikut akan admin berikan resepnya :
![]() |
| Resep Cara Membuat Ayam Penyet Paling Enak |
Cara Membuat
Bahan
- 1 ekor ayam berukuran kecil,dipotong menjadi 4 bagian
Haluskan
- 5 siung bawang putih
- 1sdt ketumbar
- 3 cm kunyit
- 1/4 sdt garam
- 2 cm jahe, memarkan
- 2 cm lengkuas, memarkan
- 100 ml air
- Minyak secukupnya,untuk menggoreng
Bahan Sambal
- 10 buah cabai merah keriting
- 8 buah cabai rawit merah
- 1/4 sdt terasi matang
- 2 lembar daun jeruk purut
- 1/4 sdt garam
- 1/4 sdt irisan gula merah
- 2 tangkai daun kemangi,petiki daunnya
Cara Membuat Ayam Penyet :
Campurkan bumbu halus,jahe,dan lengkuas dengan daging ayam dan air,lalu ungkep sampai daging ayam empuk.Angkat,sisihkan.
Goreng daging ayam sampai berwarna kecokelatan(jangan terlalu kering),angkat,tiriskan.
Haluskan semua bahan sambal,masukkan daun kemangi,tumbuk kasar.
Masukkan ayam goreng,tekan-tekan(penyet)kedua sisinya sampai sambal menempel pada daging,sajikan.
Demikian Informasi terbaru seputar Resep Cara Membuat Ayam Penyet Paling Enak, semoga artikel diatas dapat bermanfaat buat anda sekalian, jadikan ini sebagai inspirasi untuk anda memasak.
Tetap Bugar Saat Berpuasa
Bulan suci yang sangat istimewa bagi umat Muslim di seluruh dunia
telah datang. Dibulan puasa ini, anda tidak hanya diajarkan untuk
bersabar menahan lapar dan dahaga sejak matahari terbit hingga terbenam,
nmaun anda juga akan memetik banyak manfaat dari menahan hawa nafsu dan
sifat buruk.
Nah, tantangan yang paling besar pada bulan ini adalah untuk tetap prima dan bugar saat beraktivitas melakukan kegiatan sehari-hari walaupun anda berpuasa. Ya, kondisi mental dan fisik orang yang berpuasa memang perlu disiapkan agar tetap sehat. Oleh sebab itu anda harus memulai perencanaan makanan dan membuat daftar belanja untuk membantu anda menyiapkan konsumsi makanan yang baik saat berpuasa. Oiya, anda juga harus menghindari beberapa jenis makanan dan melakukan beberapa tips di bawah ini;
Nah, tantangan yang paling besar pada bulan ini adalah untuk tetap prima dan bugar saat beraktivitas melakukan kegiatan sehari-hari walaupun anda berpuasa. Ya, kondisi mental dan fisik orang yang berpuasa memang perlu disiapkan agar tetap sehat. Oleh sebab itu anda harus memulai perencanaan makanan dan membuat daftar belanja untuk membantu anda menyiapkan konsumsi makanan yang baik saat berpuasa. Oiya, anda juga harus menghindari beberapa jenis makanan dan melakukan beberapa tips di bawah ini;
- Kurangi konsumsi teh, kopi dan minuman bersoda
Bulan Ramadhan adalah waktu yang bagi anda untuk mengurangi asupan teh,
kopu dan minuman bersoda lainnya yang mengandung kafein. Anda dapat
mencoba untuk membatasi diri hanya mengkonsumsi minuman berkafein dua
kali dalam sehari selama bulan Ramadhan. Ini penting untuk meminimalisir
gejala sakit kepala. Karena, minuman bersoda dan berkafein akan membuat
anda terjaga di malam hari dan memiliki efek diuretik pada tubuh.
Dan pastikan tubuh tidak kekurangan cairan dengan mengkonsumsi air
sebanyak 8-10 gelas sehari saat berbuka dan santap sahur.
- Jaga kesehatan
Dengan berpuasa sebulan penuh, adalah saat yang paling tepat untuk
memperbaiki metabolism tubuh anda sehingga tubuh anda semakin sehat.
Jangan pernah menganggap puasa sebagai cara berdiet, namun bagaimana
menahan nafsu dan menjalani hidup sehat.
Nah, jika anda memiliki masalah kesehatan, sebaiknya anda berkonsultasi
dahulu dengan dokter untuk mengetahui cara terbaik membantu tubuh agar
bisa menjalankan puasa dengan sehat.
- Kebiasaan makan sehat
Pertahankan kebiasaab makan yang baik dengan menu seimbang dari buah
dan sayuran. Cobalah untuk tidak makan terlalu cepat saat berbuka puasa.
Kunyahlah makanan dengan lembut dan jangan lupa untuk minum cukup
menghindari dehidrasi dan sakit kepala di siang hari.
Sebisa mungkin anda perbanyak konsumsi jus segar untuk membantu tubuh
tetap fit selama bulan Ramadhan. Perbanyaklah minum air putih untuk
menghindari sembelit.
- Olah raga
Walaupun anda sedang berpuasa, bukan berarti anda boleh
bermalas-malasan sambil menunggu saat berbuka. Tidak ada salahnya anda
berolahraga sambil menunggu datangnya maghrib. Karena olah raga sangat
baik untuk membantu sirkulasi oksigen di dalam tubuh tetap lancar.
Jangan lupa juga untuk melakukan kegiatan aktif setelah berbuka, seperti
minimal berjalan santai.
- Tidur cukup
Tidur malam selama minimal 8 jam sehari sangat diperlukan untuk
memastikan keseimbangan tubuh dihari berikutnya bagi anda yang bekerja
ataupun masuk sekolah. Karena ketika anda kurang tidur, dapat
menyebabkan gelisah, sakit kepala dan masalah pencernaan yang buruk.
- Sahur
Semua pakar kesehatan merekomendasikan makan sahur sebelum anda memulai
puasa. Meskipun sangat berat untuk terbangun di waktu subuh untuk
sahur, sebaiknya anda jangan melewatkan waktu sahur.
Sebagai gantinya waktu tidur anda yang terganggu saat sahur, anda dapat
mencoba mengganti waktu tidur di sore hari saat menjelang berbuka. Agar
tidak repot menyiapkan makanan sahur di waktu subuh, biasakan untuk
menyiapkan masakan yang akan anda makan diwaktu sahur sebelum anda
tidur. Sehingga saat akan dimakan anda cukup memanasi saja.
ORGANISASI DAN ARSITEKTUR KOMPUTER
Komputer merupakan perangkat
elektronik yang sudah tidak asing lagi di kalangan anak-anak hingga
orang dewasa, tentunya dengan tingkat pemahaman dan penggunaan yang
berbeda-beda. Arsitektur Von Neumann menggambarkan komputer dengan
empat bagian utama: Unit Aritmatika dan Logis (ALU), unit
kontrol, memori, dan alat masukan dan hasil
(secara kolektif dinamakan I/O). Bagian ini dihubungkan oleh berkas
kawat, “bus”.
A. Organisasi
Komputer
Organisasi Komputer adalah bagian yang
terkait erat dengan unit-unit operasional dan interkoneksi antar
komponen penyusun sistem komputer dalam merealisasikan
aspek arsitekturalnya. Contoh aspek organisasional adalah teknologi
hardware, perangkat antarmuka, teknologi memori, sistem memori, dan
sinyal–sinyal kontrol.
B. Arsitektur
Komputer
Arsitektur Komputer lebih cenderung
pada kajian atribut–atribut sistem komputer yang terkait dengan seorang
programmer. Contohnya, set instruksi,aritmetika yang digunakan,
teknik pengalamatan, mekanisme I/O.
C. CPU (Central
Prosessing Unit)
Unit Pengolah Pusat atau CPU (Central
processing Unit) berperan untuk memproses perintah yang diberikan
oleh pengguna komputer, mengelolanya bersama data-data yang ada di
komputer. Unit atau peranti pemprosesan juga akan berkomunikasi dengan
peranti input , output dan storage untuk melaksanakan instruksi yang
saling terkait.
Dalam arsitektur von Neumann yang
asli, ia menjelaskan sebuah Unit Aritmatika dan Logika, dan sebuah Unit
Kontrol. Dalam komputer-komputer modern, kedua unit ini terletak dalam
satu sirkuit terpadu (IC – Integrated Circuit), yang biasanya
disebut CPU (Central Processing Unit).
Unit Aritmatika dan Logika,
atau Arithmetic Logic Unit (ALU), adalah alat yang melakukan
pelaksanaan dasar seperti pelaksanaan aritmatika (tambahan, pengurangan,
dan semacamnya), pelaksanaan logis (AND, OR, NOT), dan pelaksanaan
perbandingan (misalnya, membandingkan isi sebanyak dua slot untuk
kesetaraan). Pada unit inilah dilakukan “kerja” yang sebenarnya.
Unit kontrol menyimpan perintah
saat ini yang dilakukan oleh komputer, memerintahkan ALU untuk
melaksanaan dan mendapatkan kembali informasi (dari memori) yang
diperlukan untuk melaksanakan perintah itu, dan memindahkan kembali
hasil ke lokasi memori yang sesuai. Unit ini berfungsi mengontrol
pembacaan instruksi program komputer.
D. Memori
Memori adalah sebuah array yang
besar dari word atau byte, yang ukurannya mencapai
ratusan, ribuan,atau bahkan jutaan. Setiap word atau bytemempunyai
alamat tersendiri. Main memory berfungsi sebagai tempat
penyimpanan yang akses datanya digunakan oleh CPU atau perangkat I/O. Main-memory termasuk
tempat penyimpanan data yang sementara (volatile), artinya data
dapat hilang begitu sistem dimatikan. Sistem operasi bertanggung jawab
atas aktivitas-aktivitas yang berkaitan dengan manajemen memori seperti:
menjaga track dari memori yang sedang digunakan dan siapa yang
menggunakannya; memilih program yang akan di-load ke memori; dan
mengalokasikan dan mendealokasikan memoryspace sesuai kebutuhan. Main
memory dapat dibayangkan sebagai kumpulan kotak-kotak yang masing
dapat menyimpan suatu penggal informasi baik berupa data maupun
instruksi. Umumnya
1 byte memory terdiri dari 8
bit dan tiap bit diwakili oleh 1 atau 0. Kombinasi bit dalam1 byte
tersebut membentuk suatu kode yang mewakili isi dari lokasimemory.
Kode yang digunakan untuk mewakilinya tergantung dari komputer yang
digunakan,dapat membentuk sistem kode BCD (Binary-Coded Decimal),
sistem kode SBCDIC (Standard Binary Coded Decimal Interchange Code),
sistem kode EBCDIC (Extended Binary Coded Decimal Interchange Code)
atau sistem kode ASCII (American Standard Code for Information
Interchange).
- Memori dikelompokkan menjadi 2 yaitu:
Ø RAM (Random Access Memory)
RAM (Random Access Memory ) adalah
memori yang dapat dibaca atau ditulisi. Data dalam sebuah RAM bersifat
volatile, artinya data akan terhapus bila catu daya dihilangkan. Karena
sifat RAM yang volatile ini, maka program computer tidak tersimpan di
RAM. RAM hanya digunakan untuk mcnyimpaii data seinantara, yang ticlak
begilu vital saal aliran daya terpiilus.
Struktur dari RAM, dibagi menjadi:
1. Input Storage,
digunakan untuk menampung input yang dimasukkan lewat
alat input;
2. Program Storage,
digunakan untuk menyimpan semua instruksi program
yang akan diproses;
3. Working Storage,
digunakan untuk menyimpan data yang akan diolah dan
hasil dari pengolahan;
4. Output Storage, digunakan
untuk menampung hasil akhir dari pengolahan datayang akan ditampilkan
ke alat output.
Ø ROM (Read Only Memory)
Memori ini hanya dapat dibaca saja,
programer tidak bisa mengisi sesuatu ke dalam ROM. Isi ROM sudah diisi
oleh pabrik pembuatnya berupa sistem operasi yang terdiri dari
program-program pokok yang diperlukan oleh sistem komputer, seperti
program untuk mengatur penampilan karakter, pengisian tombol kunci dan bootstrap
program.
Bootstrap program diperlukan
pada waktu pertama kali sistem komputer diaktifkan, yang proses ini
disebut dengan istilah booting, yang terdiri dari:
1. Cold booting, yaitu
proses mengaktifkan sistem komputer pertama kali untuk
mengambil bootsrap program dari
keadaan listrik komputer mati.
2. Warm booting, yaitu
proses pengulangan pengambilan bootstrapprogram
dalam keadaan komputer masih hidup.
Instruksi yang tersimpan di ROM
disebut dengan microinstruction atau microcodeatau disebut
juga firmware. Isi dari ROM tidak boleh hilang atau rusak,
karena dapat menyebabkan sistem komputer tidak berfungsi. ROM bersifat non
volatile, artinya isinya tidak hilang bila listrik komputer
dimatikan.
Jenis-jenis ROM:
1. PROM (Programmable
Read Only Memory), yaitu ROM yang dapat diprogram
sekali saja dan tidak dapat diubah
kembali
2. EPROM (Erasable
Programmable Read Only Memory), yaitu ROM yang dapat
dihapus dengan sinar ultra violet
serta dapat diprogram kembali berulang-ulang
3. EEPROM (Electrically
Erasable Programmable Read Only Memory), yaitu
ROM yang dapat dihapus secara
elektronik dan dapat diprogram kembali.
E. I/O Port
Alat-alat input/output tidak
dilekatkan langsung dengan bus tetapi melalui suatu I/O port atau I/O interface.
Alat-alat input/output dapat berkomunikasi dengan CPU dengan cara
mengirimkan informasi yang akan dikomunikasikan lewat bus. Informasi
yang dikirim dari alat input/output (peripheral device) kemain
memory atau ke register di CPU diletakan di I/O port dan dikirimkan
lewat data bus. Demikian juga bila informasi dari main
memory akan dikirimkan ke peripheral device juga melalui data bus
dan diterima di I/O port. Cara ini disebut juga dengan program-controlled I/O.
Cara ini banyak diterapkan pada alat I/O yang hanya dapat menangani
satu karakter atau 1 byte atau 1 word saja tiap saat misalnya keyboard.
F. Instruksi
Perintah yang dibicarakan di atas
bukan perintah seperti bahasa manusiawi. Komputer hanya mempunyai
perintah sederhana dalam jumlah terbatas yang dirumuskan dengan baik.
Perintah biasa yang dipahami kebanyakan komputer ialah “menyalin isi sel
123, dan tempat tiruan di sel 456″, “menambahkan isi sel 666 ke sel
042, dan tempat akibat di sel 013″, dan “jika isi sel 999 adalah 0,
perintah berikutnya anda di sel 345″.
Instruksi diwakili dalam komputer
sebagai nomor – kode untuk “menyalin” mungkin menjadi 001, misalnya.
Suatu himpunan perintah khusus yang didukung oleh komputer tertentu
diketahui sebagai bahasa mesin komputer. Dalam praktiknya, orang
biasanya tidak menulis perintah untuk komputer secara langsung di bahasa
mesin tetapi memakai bahasa pemrograman ”tingkat tinggi” yang kemudian
diterjemahkan ke dalam bahasa mesin secara otomatis oleh program
komputer khusus (interpreter dan kompiler). Beberapa bahasa pemrograman
berhubungan erat dengan bahasa mesin, seperti assembler (bahasa
tingkat rendah); di sisi lain, bahasa seperti prolog didasarkan pada
prinsip abstrak yang jauh dari detail pelaksanaan sebenarnya oleh mesin
(bahasa tingkat tinggi).
G.Pengalamatan
Pengalamatan adalah bagaimana
cara menunjuk dan mengalamati suatu lokasi memori pada sebuah alamat
di mana operand akan diambil. Mode pengalamatan diterapkan pada
set instruksi, dimana pada umumnya instruksi terdiri dari opcode (kode
operasi) dan alamat. Setiap mode pengalamatan memberikan fleksibilitas
khusus yang sangat penting. Mode pengalamatan ini meliputi direct
addressing, indirect addressing, dan immediate addressing.
1. Direct Addresing
Dalam mode pengalamatan direct
addressing, harga yang akan dipakai diambil langsung dalam alamat
memori lain. Contohnya: MOV A,30h. Dalam instruksi ini akan dibaca data
dari RAM internal dengan alamat 30h dan kemudian disimpan dalam
akumulator. Mode pengalamatan ini cukup cepat, meskipun harga yang
didapat tidak langsung seperti immediate, namun cukup cepat karena
disimpan dalam RAM internal. Demikian pula akan lebih mudah menggunakan
mode ini daripada mode immediate karena harga yang didapat bisa dari
lokasi memori yang mungkin variabel.
Kelebihan dan kekurangan dari Direct
Addresing antara lain :
Kelebihan
· Field alamat berisi
alamat efektif sebuah operand.
Kelemahan
· Keterbatasan field alamat
karena panjang field alamat biasanya lebih kecil dibandingkan
panjang word.
2. Indirect Addresing
Mode pengalamatan indirect
addressing sangat berguna karena dapat memberikan fleksibilitas
tinggi dalam mengalamati suatu harga.Mode ini pula satu-satunya cara
untuk mengakses 128 byte lebih dari RAM internal pada keluarga 8052. Contoh:
MOV A,@R0. Dalam instruksi tersebut, 89C51 akan mengambil harga yang
berada pada alamat memori yang ditunjukkan oleh isi dari R0 dan kemudian
mengisikannya ke akumulator. Mode pengalamatan indirect addressing selalu
merujuk pada RAM internal dan tidak pernah merujuk pada SFR. Karena
itu, menggunakan mode ini untuk mengalamati alamat lebih dari 7Fh hanya
digunakan untuk keluarga 8052 yang memiliki 256 byte spasi RAM
internal.
Kelebihan dan kekurangan dari Indirect
Addresing antara lain :
Kelebihan
· Ruang bagi alamat menjadi
besar sehingga semakin banyak alamat yang dapat referensi.
Kekurangan
· Diperlukan referensi memori
ganda dalam satu fetch sehingga memperlambat preoses operasi.
3. Immediate Addresing
Mode pengalamatan immediate
addressing sangat umum dipakai karena harga yang akan disimpan dalam
memori langsung mengikuti kode operasi dalam memori. Dengan kata lain,
tidak diperlukan pengambilan harga dari alamat lain untuk disimpan.
Contohnya: MOV A,#20h. Dalam instruksi tersebut, akumulator akan diisi
dengan harga yang langsung mengikutinya, dalam hal ini 20h. Mode ini
sangatlah cepat karena harga yang dipakai langsung tersedia.
Kelebihan dan kekurangan dari Immedieate
Addresing antara lain :
Keuntungan
· Tidak adanya referensi
memori selain dari instruksi yang diperlukan untuk memperoleh operand.
· Menghemat siklus instruksi
sehingga proses keseluruhan akan cepat.
Kekurangan
- Ukuran bilangan dibatasi oleh ukuran field alamat.
Langganan:
Postingan (Atom)
