Agar anda bisa menyusun program anda paling tidak sudah bisa membayangkan bagaimana instruksi tersebut disusun.
sebagai contoh, bila kita ingin membuat program menghitung luas persegi panjang maka dapat disusun instruksi seperti berikut :
panjang <– 5
Lebar <– 6
luas <– panjang * lebar
Tampilkan luas
artinya dari perintah diatas yaitu masukkan nilai panjang = 5 nilai lebar = 6
, kemudian dihitung dengan formula luas dan instruksi terakhir
tampilkan nilai luas.
Sekarang bagaimana menyusun instruksi diatas menggunakan visual C++ ?
Sebelum
kita menerjemahkan ada beberapa hal yang harus kita pahami dan ini
berlaku di semua bahasa pemrograman. Hal tersebut adalah :
- Pahami konsep variabel (variabel adalah suatu ruang memori yang dipesan dan isi ruang tersebut dapat diganti ganti)
- pahami konsep konstanta (variabel adalah suatu ruang memori yang dipesan dan isi ruang tersebut tidak dapat diganti)
- pahami konsep tipe data
- Pahami bagaimana mendefinisikan dan menggunakan tipe data
Saya ulangi lagi instruksi diatas
panjang <– 5
Lebar <– 6
luas <– panjang * lebar
Tampilkan luas
panjang<– 5 ; artinya variabel panjang diisi angka 5
lebar <– 6 ; artinya variabel lebar diisi angka 6
luas <– panjang * lebar ; artinya variabel panjang dan lebar dikalikan dan hasilnya disimpan di variabel luas
tampilkan luas , isi variabel luas ditampilkan.
panjang.
lebar dan luas adalah variabel dengan isi data pasti numerik dan
kemungkinan bisa pecahan, juga bisa bulat maka bisa disimpulkan panjang,
lebar dan luas bertipe pecahan.
Di bahasa c/c++ tipe data untuk pecahan adalah double. berikut list tipe data di c/c++
Name
|
Description
|
Size*
|
Range*
|
char
|
bertipe karakter
|
1byte
|
signed: -128 to 127
unsigned: 0 to 255
|
short int (short)
|
bertipe bulat
|
2bytes
|
signed: -32768 to 32767
unsigned: 0 to 65535
|
int
|
bertipe bulat
|
4bytes
|
signed: -2147483648 to 2147483647
unsigned: 0 to 4294967295
|
long int (long)
|
bertipe bulat long.
|
4bytes
|
signed: -2147483648 to 2147483647
unsigned: 0 to 4294967295
|
bool
|
Bertipe Boolean
|
1byte
|
true or false
|
float
|
Bertipe pecahan, desimal
|
4bytes
|
+/- 3.4e +/- 38 (~7 digits)
|
double
|
Bertipe pecahan, desimal
|
8bytes
|
+/- 1.7e +/- 308 (~15 digits)
|
long double
|
Bertipe pecahan. desimal
|
8bytes
|
+/- 1.7e +/- 308 (~15 digits)
|
wchar_t
|
Tipe karakter lebar
|
2 or 4 bytes
|
1 wide character
|
cara pendefinisian tipe data dengan format seperti berikut :
tipe data variabel
contoh
double panjang,lebar,luas
Implementasi dalam program
#include
#include
int main()
{
double panjang,lebar,luas;
panjang=5;
lebar=6;
luas=panjang*lebar;
printf(“ Luas : %lf “,luas);
getch();
return 0;
}
Tekan F5 maka akan tampil luas : 30.0
Penjelasan perintah diatas :
#include
#include
kedua perintah ini untuk memanggil library yang digunakan dalam
menyusun perintah. Library artinya keyword (kata kunci) yang digunakan.
int main() untuk memulai fungsi utama dalam program.
{ awal program
double panjang,lebar,luas; merupakan pendeklarasian tipe data double dengan nama variabel panjang, lebar, luas.
panjang=5;
lebar=6; pengisian data ke variabel panjang dan lebar
luas=panjang*lebar; formula untuk menghitung luas
printf(” Luas : %lf “,luas); Cetak di layar monitor teks luas dan isi variabel luas
parameter %lf digunakan untuk menampilkan isi variabel luas yang bertipe data double
getch(); Perintah untuk menunda sebelum perintah berikutnya dijalankan
return 0; nilai bilangan bulat yang dikembalikan merupakan pasangan dari int main()
} penutup program
Memahami Penggunaan IF
Nah sekarang kita lanjutkan materinya.
Sering
jadi pertanyaan bagi programmer pemula, kapan kita menggunakan
instruksi instruksi di di suatu bahasa pemrograman ? Jawaban atas
masalah ini adalah sangat tergantung kepada algoritma sebagai pemecahan
masalah dari kasus yang akan kita buat solusinya. Sebagai contoh anda
diminta membuat program menghitung akar persamaan, maka kita perlu
memahami bagaimana akar persamaan dan apa saja aturannya menggunakan
persamaan tesebut.
Berikut penjelasan mengenai menghitung akar :
Akar
persamaan adalah suatu fungsi untuk mendapat nilai akar dari suatu
nilai dengan syarat nilai harus >= (dibaca lebih besar sama dengan ) 0
(nol bukan o). Karena ada syarat maka ada kemungkinan minimal dari
program yang akan kita buat pasti mengandung instruksi if (jika), yang
menghasilkan minimal 2 kemungkinan operasi keluaran kalau true atau
kalau false sesuai hasil fpengujian.
Mungkin ada yang terlewat sedikit,
Operasi If
akan melakukan pengujian dari data , dan hasil pengujian merupakan
operasi perbandingan yang dapat menghasilkan nilai benar(true) atau
salah(false).
Sebagai contoh
read(nilai) //Baca Nilai
if nilai>= 0 // jika nilai >= 0
Hitung akar
else
Akar tidak bisa dihitung/ atau bila dihitung menghasilkan nilai imajiner.
Contoh Implementasi Algoritma
Program Hitungakar
Deklarasi
Nilai, hasil : real
Algoritma
read(nilai)
if nilai>=0
{ hasil=exp(0.5*ln(nilai))
write(hasil) }
else
write(“akar Imajiner”)
.
Menerapkanb algoritma diatas ke bahasa C
#include
#include
#include
int main()
{
double hasil,nilai;
printf(“Nilai : “);
scanf(“%lf”,&nilai);
if (nilai>=0)
{ hasil=sqrt(nilai);
printf(“Akar %lf : %lf”,nilai,hasil);
}
else
printf(“Nilai Imajiner”);
getch();
return 0;
}
Dari contoh program diatas ditambahkan precompiler header
conio
dan math. conio dideklarasikan karena dalam instruksi mendeklarasikan
perintah getch() yang berfungsi untuk menghentikan proses hingga ditekan
tombol enter. Sedang header math.h digunakan karena ada fungsi akar
sqrt. Program diatas sebelum menghitung akar, diverifikasi terlebih
dahulu data masukkan yang dibaca oleh perintah scanf. Perhatikan format
perintah scanf anda harus mendeklarasikan terlebih dahulu parameter
untuk menentukan tipe data yang dibaca sesuai type data yang telah
dideklarasikan. %lf sebagai parameter yang digunakan untuk type data
double.
#include
#include
#include
int main()
{
double hasil,nilai;
printf(“Nilai : “);
scanf(“%lf”,&nilai);
if (nilai>=0)
{ hasil=sqrt(nilai);
printf(“Akar %lf : %lf”,nilai,hasil);
}
else
{ nilai*=-1;
hasil=sqrt(nilai);
printf(“akar -%lf : %lfj”,nilai,hasil);
}
getch();
return 0;
}
Perhatikan
dari contoh diatas merupakan modifikasi dari contoh sebelumnya.
Modifikasi yang dilakukan adalah bila nilai yang akan dihitung negatif
maka sebelum dihitung diabsolutkan terlebih dahulu dan hasilnya
ditambahkan string j yang menunjukkan bahwa hasil perhitungan imajiner,
contoh seperti berikut :
Bila
keluaran dari suatu proses lebih dari 2 kemungkinan, maka instruksi if
perlu ditambahkan setelah else. Sebagai contoh kasus berikut :
Program
permainan meramal, dimana anda diminta memasukkan suatu angka dari
suatu aplikasi akan mengakumulasi angka tersebut dan tentunya hasilnya
dapat kitab buat sesuka kita yang penting yang menggunakan aplikasi
menjadi senang.
Algoritma untuk mengkalkulasi dirumuskan sebagai berikut :
Angka
yang diimasukkan dikali 2 kemudian dibagi 5 dan sisanya dibagi 3 dan
semua tipe data adalah integer. Bila hasil lebih dari 7 maka tertulis
“anda beruntung”, bila kurang dari 2 tertulis, anda harus “waspada”
sedang kan bila antara 2 dan 7 maka tertulis, “nasib anda susah
ditebak”.
#include
#include
#include
#define data “y”
int main()
{
int angka,hasil,lagi;
char cobalagi[2];
printf(“Program meramal berdasarkan Angka keberuntungan anda\n”);
printf(“\n”);
lagi=0;
while (lagi==0)
{
printf(“Masukkan angka anda :”);scanf(“%ld”,&angka);
hasil=((angka * 2) / 5 ) % 3;
if (hasil > 7)
printf(“Anda Beruntung\n “);
else
if (hasil < 2)
printf(“Waspada dengan keputusan anda\n”);
else
printf(“Nasib anda susah ditebak\n”);
printf(“Coba lagi (y/t)”);scanf(“%s”,&cobalagi);
lagi=strcmp(cobalagi,data);
}
printf(“Sampai Jumpa lagi”) ;
getch();
return 0;
}
Keluaran dari program diatas seperi berikut :
Sekarang coba kita bahas satu persatu dari contoh program diatas.
Kalau
anda perhatikan program dapat melakukan perulangan selama anda ingin
mengulang data, tapi bila anda tidak ingin mengulang lagi dengan menekan
‘t’ maka program akan berhenti dan keluar kalimat smapi jumpa lagi.
#include
#include
#include
Precompile
header ditambahkan string.h karena kita akan menggunakan fungsi
pembanding string yaitu strcmp yang berguna membandingkan 2 buah string
apakah sama atau tidak, bila sama akan mengeluarnakn nilai integer 0 dan
bila berbeda akan mengeluarkan nilai integer -1.
#define data “y”
Penggunaan perintah diatas adalah pendefinisian konstanta bernama data diisi string “y”
int main()
{
int angka,hasil,lagi;
char cobalagi[2];
merupakan
awal program dan dideklarasikan variabel bertype data integer dan
string ditandai dengan nama variabel diberi lebar string 2 digit.
printf(“Progranm meramal berdasarkan Angka keberuntungan anda\n”);
printf(“\n”);
deskripsi program dan digunakan parameter \n untuk melompat satu baris ke baris berikutnya.
lagi=0;
while (lagi==0)
{
printf(“Masukkan angka anda :”);scanf(“%ld”,&angka);
hasil=((angka * 2) / 5 ) % 3;
if (hasil > 7)
printf(“Anda Beruntung\n “);
else
if (hasil < 2)
printf(“Waspada dengan keputusan anda\n”);
else
printf(“Nasib anda susah ditebak\n”);
printf(“Coba lagi (y/t)”);scanf(“%s”,&cobalagi);
lagi=strcmp(cobalagi,data);
}
Perintah
diatas diawali dengan while dimana perintah while digunakan bila kita
menginginkan proses yang telah dilakukan dapat diulang lagi. While akan
selalu berulang di area tanda setelah while { dan } selama hasil
pengujian bernilai true bila nilai lagi masih 0. Keluaran ini didapat
dari perintah
lagi=strcmp(cobalagi,data);
keluaran
kalimat yang tertulis dapat lebih dari 2 kemungkinan maka ditambahkan
if setelah else dari if yang pertama, dan perhatikan else yang terakhir
tidak ditambahkan if karena bila 2 kemungkinan tidak ada yang bernilai
true maka keluaran satu-satunya adalah perintah setelah else dan instruksi berikutnya tidak ada pengujian dengan if.
Dari contoh diatas dapan kita modifikasi dengan komentar dengan meletakkan di define
#include
#include
#include
#define data “y”
#define teks “Program meramal berdasarkan Angka keberuntungan anda”
int main()
{
int angka,hasil,lagi;
char cobalagi[2];
printf(teks,”\n”);
printf(“\n”);
lagi=0;
while (lagi==0)
{
printf(“Masukkan angka anda :”);scanf(“%ld”,&angka);
hasil=((angka * 2) / 5 ) % 3;
if (hasil > 7)
printf(“Anda Beruntung\n “);
else
if (hasil < 2)
printf(“Waspada dengan keputusan anda\n”);
else
printf(“Nasib anda susah ditebak\n”);
printf(“Coba lagi (y/t)”);scanf(“%s”,&cobalagi);
lagi=strcmp(cobalagi,data);
}
printf(“Sampai Jumpa lagi”) ;
getch();
return 0;
Wah kelihatannya sudah mulai rumit, kita relaksasi dulu dengan cerita cerita sederhana.
Andi
baru pulang dari kantor, sampai rumah andi menyalakan tv ditekan 1
keluar rcti, wah tidak menarik, tekan no 2 keluar sctv, tidak menarik
juga, tekan 3 keluar metro tv, yah sama saja tidak seru, tekan 4 keluar
Tv 10, wah kelihatannya seru, akhirnya andi asyik menonton acara di tv
10. nah dari kasus diatas bagaimana kita membuat algoritmanya ?
Dari cerita di atas kita ketahui yang menjadi input adalah nomor chanel jika
nomor 1 maka rcti
nomor 2 maka sctv
nomor 3 maka metro tv
dan nomor 4 tv 10.
Terlihat
bahwa output yang keluar akan diseleksi dan menghasilkan 4 kemungkinan
keluaran tergantung kepada nomor yang dimasukkan ke input, maka untuk
kasus seperti ini mengunakan percabangan atau if, maka bila disusun
algoritma
read(chanel)
if chanel= 1 then
saluran rcti
else
if chanel = 2 then
saluran sctv
else
if chanel = 3 then
saluran metro tv
else
saluran tv 10
Bila disusun dengan bahasa c sebagai berikut :
#include
#include
#define data1 “RCTI”
#define data2 “SCTV”
#define data3 “METRO TV”
#define data4 “TV10″
int chanel(int pilih)
{
if (pilih == 1)
printf(“%s”,data1);
else
if (pilih ==2)
printf(“%s”,data2);
else
if (pilih==3)
printf(“%s”,data3);
else
printf(“%s”,data4);
return 0;
};
int validasi(int pilihan)
{
int kembali;
if (pilihan == 1 || pilihan == 2 ||
pilihan == 3 || pilihan == 4)
kembali=0;
else
kembali=-1;
return kembali;
};
int main()
{int pilihchanel,hasil;
hasil=-1;
while (hasil==-1)
{
printf(“Pilih Chanel (1,2,3,4) : “);scanf(“%ld”,&pilihchanel);
hasil=validasi(pilihchanel);
}
chanel(pilihchanel);
getch();
return 0;
}
11.07
Unknown


0 komentar :
Posting Komentar