Friday, July 30, 2010

Melewatkan Parameter Fungsi

Melewatkan parameter atau mengirimkan data ke fungsi, bisa dilakukan dengan 2 cara, yaitu parsing by value dan parsing by reference. Tapi untuk beberapa fungsi tidak memerlukan parameter apapun, misalnya fungsi untuk mencetak suatu kalimat atau fungsi dengan variable lokal.

Parsing by value

Yang dimaksud dengan parsing by value (call by value) adalah dengan mengirimkan nilai dari variable yang menjadi parameter. Perubahan terhadap argumen yang terjadi di dalam fungsi, tidak akan mempengaruhi nilai dari variable fungsi pemanggil (hanya 1 arah). Pengiriman suatu nilai dapat dilakukan untuk suatu ungkapan, tidak hanya untuk sebuah variabel, elemen array atau konstanta saja, misalnya fungsi (a+2);

Parsing by reference
Parsing by reference (call by reference) adalah pemanggilan dengan cara mengirimkan alamat variable ke fungsi yang dipanggil. Fungsi yang menerima kiriman alamat ini akan menggunakan alamat yang sama untuk mendapatkan nilai datanya. Perubahan nilai di fungsi akan merubah nilai asli di bagian fungsi pemanggilnya. Hal ini karena parsing by reference adalah pengiriman dua arah, yaitu dari fungsi pemanggil ke fungsi yang dipanggil dan juga sebaliknya. Parsing by reference hanya untuk alamat memory saja, tidak dapat dilakukan untuk suatu ungkapan.

Read more...

Variable pada Fungsi

Dalam kaitannya dengan fungsi, variable dibagi menjadi 2 jenis:
1. variable global
2. variable lokal

VARIABLE GLOBAL

Variable global adalah varable yang bisa digunakan di semua fungsi tanpa ada deklarasi di setiap fungsi. Perubahan nilai variable di satu fungsi akan merubah nilai variable secara keseluruhan apabila digunakan oleh fungsi lain. Deklarasi variable global di luar fungsi tertentu, tapi biasanya dibawah header file. Contoh penggunaannya adalah:

#include <stdio.h>
int var=5;
void main()
{dekalrasi dan statement}
int fungsi()
{deklarasi dan statement}

VARIABLE LOKAL
Variable lokal adalah variable yang hanya bisa digunakan di satu fungsi saja, yaitu fungsi dimana variable itu dideklarasikan. Penggunaan nama variable lokal juga bisa sama antara fungsi yang satu dengan fungsi yang lainnya. Deklarasi parameter juga merupakan sebuah deklarasi untuk variable lokal. Apabila dua buah variable lokal pada fungsi berbeda memiliki nama yang sama, perubahan nilai variable di satu fungsi tidak akan mempengaruhi variable di fungsi yang lainnya. contoh penggunaan variable lokal adalah:

#include <stdio.h>
void main()
{
int var=5,able=8;
statemen/perintah;
}

int fungsi_tambah(int a, int b)
{
int var=a,able=b;
int hasil=var+able;
return hasil;
}

Read more...

Thursday, July 29, 2010

Mendefinisikan Fungsi

Komponen-komponen dari fungsi yaitu definisi fungsi dan tubuh fungsi. Sebelum dapat digunakan, fungsi harus didefinisikan terlebih dahulu. Definisi fungsi terdiri atas:

  • prototype fungsi
  • tipe kembalian
  • nama fungsi
  • parameter/argumen
Format penulisan prototype fungsi:
tipe_data nama_fungsi(deklarasi parameter);

Format definisi fungsi:
tipe_data nama_fungsi(deklarasi parameter)
{
deklarasi, deklarasi;
perintah, perintah;
return ();
}


Prorotype fungsi
Penulisan prototipe fungsi setelah kita menuliskan header file( stdio.h, conio.h, dll ). Protoipe fungsi tidak perlu dituliskan apabila kita mendefinisikan fungsi di atas fungsi utama( main ). prototype fungsi berguna untuk memberi tahu compiler mengenai tipe data dari hasil yang dikembalikan fungsi kepada pemanggilnya,jumlah parameter, tipe parameter, dan urutan parameter yang harus diberikan kepada fungsi oleh pemanggilnya. Prototype fungsi dipakai oleh compiler untuk melakukan validasi terhadap function-call (pemanggilan fungsi). Dengan demikian, kompilator dapat membantu programer dalam menangkap kesalahan-kesalahan dalam program.
Tipe data pengembalian
Tipe data pengembalian dari suatu fungsi menyatakan tipe data dari hasil yang dikembalikan fungsi kepada pemanggilnya. Type hasil Void menyatakan bahwa fungsi tidak mengembalikan apa-apa. Type hasil yang tidak ditulis dianggap oleh kompilator sebagai int.
Nama fungsi
Nama fungsi harus berupa suatu indentifier yang sahih. Nama fungsi sebaiknya mencerminkan tugas yang dilakukan oleh fungsi itu.
Deklarasi parameter
Parameter adalah cara dari pemganggil fungsi untuk memberikan data kepada fungsi untuk dikerjakan oleh fungsi. parameter yang digunakan saat pemanggilan harus sama dengan parameter yang ada saat deklarasi dan definisi fungsi.

Read more...

Wednesday, July 28, 2010

Fungsi pada Bahasa C

Setiap kali kita membuat program, kita selalu membuat fungsi, minimal kita harus membuat fungsi main(). Pada bahasa C, fungsi adalah sekumpulan instruksi terurut untuk melaksanakan sebuah tugas. Istilah lain dari fungsi adalah subroutin. Fungsi yang terdapat pada bahasa C antara lain:

  • fungsi main
  • fungsi standar bahasa C
  • fungsi buatan programmer
fungsi main
Adalah fungsi yang harus ada di setiap kali kita membuat program. Fungsi ini adalah fungsi utama. Menjalankan program adalah dimulai dari awal fungsi main sampai akhir fungsi main.

fungsi standar bahasa C
scanf() dan printf() adalah contoh fungsi standar pada bahasa C. Fungsi standar yaitu fungsi yang sudah terdapat pada compiler saat kita menginstall. Fungsi standar terdapat pada hampir semua software compiler bahasa C. Selain mencetak dan menginput, masih terdapat banyak fungsi standar lainnya.

fungsi buatan programmer
Terkadang fungsi standar tidak cukup untuk menjalankan tugas tertentu. Untuk mengatasi kesulitan ini, kita bisa membuat fungsi sendiri berdasarkan aturan yang ada.


Beberapa manfaat menggunakan fungsi antara lain:
  • Fungsi main dapat dibuat lebih ringkas dan mudah dibaca.
  • Fungsi menghindarkan operasi/instruksi yang sama ditulis berulang kali.
  • Pada program yang berukuran besar, fungsi dapat menghemat memory.

Read more...

Monday, July 26, 2010

Definisi Array

Array adalah tipe data yang banyak dipergunakan pada hampi di semua bahasa pemrograman. Array bisa disebut sebagai penempatan banyak data pada satu variable. Hal ini diperlukan apabila data yang kita butuhkan jumlahnya banyak, dan data tersebut adalah serupa, misalnya data nilai siswa. Misalnya adalah sebagai berikut:

int NilaiSiswa1 = 60;
int NilaiSiswa2 = 70;
int NilaiSiswa3 = 80;

Apabila datanya berjumlah sedikit mungkin masih bisa menggunakan metode di atas. Tapi apabila datanya banyak(jumlah siswa lebih dari 100), kita akan kesulitan untuk mengaturnya. Kemudian dari hal inilah timbul ide untuk mengganti angka pada variable dengan varable integer (bilangan) sebagai index. Dengan demikian terdapat variable indentitas dan variable index. Sehingga deklarasi di atas dengan array menjadi:

int Nilaisiswa[100]={80,65,98,79,70,.......};
arti:
NilaiSiswa[1] = 80;
NilaiSiswa[2] = 65;
NilaiSiswa[3] = 98; dst

Dengan demikian penggunaan variable NilaiSiswa akan lebih mudah, karena index juga bisa diganti dengan variable bertipe integer. Biasanya akses dari variable array menggunakan looping. Array juga bisa digunakan untuk data 2 atau 3 dimensi. Sesungguhnya kalimat (string) adalah array dari tipe data karakter (char).

Read more...

Menambah Data di akhir Array

Penambahan data array di akhir, tidak memerlukan penggeseran data. Menurut saya penambahan data di akhir adalah yang paling mudah diantara 3 metode penambahan data array. Berikut programnya:

#include <stdio.h>
#include <conio.h>
void main()
{
int jumlahtambah,x, isi, banyakdata=5;
int a[20]={10,20,30,40,50};
printf("Data anda:");
for(isi=0;isi<banyakdata;isi++)
{
printf("\nData ke-%d: %d",isi+1,a[isi]);
}
printf("\n\n\nJumlah penambahan data: ");
scanf("%d",&x);
jumlahtambah=x;
/*input data tambahan*/
for(isi=0;isi<jumlahtambah;isi++)
{
printf("\nMasukan tambahan data ke-%d: ",isi+1);
scanf("%i",&a[banyakdata+isi]);
}
/*cetak data baru*/
printf("Data anda sekarang adalah:");
for(isi=0;isi<banyakdata+jumlahtambah;isi++)
{
printf("\nData ke-%d: %d",isi+1,a[isi]);
}
getch();
}

Untuk membuktikan bahwa program ini berhasil, silahkan download program eksekusinya di:
ziddu, dengan nama tambah_akhir_array.rar
sharecash, dengan nama Tambah akhir array

Read more...

Menyisipkan Data Array

Untuk menyisipkan data array di tengah, metode penggeseran data berbeda dengan menambahkan data array di depan. Pada post ini, saya ingin memberitahukan cara menambahkan data array di tengah. Berikut programnya:

#include <stdio.h>
#include <conio.h>
void main()
{
int a[20]={10,20,30,40,50};
int isi, jumlahdata=5, urutantambah, jumlahtambah, jumlahdatabaru;
printf("Data anda:");
for(isi=0;isi<jumlahdata;isi++)
{
printf("\nData ke-%d: %d",isi+1,a[isi]);
}
/*penempatan data baru*/
printf("\n\nSisipkan pada urutan ke: ");
scanf("%d",&urutantambah);
/*input jumlah data tambahan*/
printf("Jumlah data yang akan ditambahkan: ");
scanf("%d",&jumlahtambah);
/*pelebaran data array*/
for(isi=0;isi<=jumlahdata-jumlahtambah;isi++)
{
a[jumlahdata+jumlahtambah-isi-1]=a[jumlahdata-isi-1];
}
/*input data tambahan*/
for(isi=0;isi<jumlahtambah;isi++)
{
printf("Masukan tambahan data ke-%d: ",isi+1);
scanf("%d",&a[isi+urutantambah-1]);
}
/*cetak data baru*/
jumlahdatabaru=jumlahdata+jumlahtambah;
printf("Data anda sekarang:");
for(isi=0;isi<jumlahdatabaru;isi++)
{
printf("\nData ke-%d: %d",isi+1,a[isi]);
}
getch();
}

Sourcecode dan program eksekusinya ada di:
ziddu, sisip_data_array.rar
sharecash, sisip data array

Read more...

Menambah Data Array

Setelah kita mendeklarasikan array, kita bisa menambah data pada array tersebut. sebelum penambahan data, terlebih dahulu kita harus menyiapkan ruang untuk tempat data baru. ruang baru tersebut kita buat dengan menggeser data lama sejauh yang diperlukan. Berikut program penambahan data pada array.

#include <stdio.h>
#include <conio.h>
int main()
{
#include
#include
int main()
{
/*pendeklarasian sekaligus pengisian data array*/
int a[20]={10,20,30,40,50};
int index,banyakdata=5,jumlahtambah;
/*cetak data array*/
printf("Data anda adalah:");
for(index=0;index<banyakdata;index++)
{
printf("\nDatake-%d: %d",index+1,a[index]);
}
/*proses penambahan data*/
printf("\n\nMasukan jumlah penambahan data: ");
/*jumlah tambah untuk menentukan banyaknya looping(pengulangan)*/
scanf("%d",&jumlahtambah);
/*proses penggeseran data untuk menciptakan ruang kosong di awal array*/
for(index=0;index<banyakdata;index++)
{
a[banyakdata+jumlahtambah-1-index]=a[banyakdata-1-index];
}
/*input data tambahan*/
for(index=0;index<jumlahtambah;index++)
{
printf("Masukan data tambahan: ");
scanf("%d",&a[index]);
}
/*cetak data array baru*/
printf("\n\ndata anda sekarang adalah: ");
for(index=0;index<banyakdata+jumlahtambah;index++)
{
printf("\nData ke-%d: %d",index+1,a[index]);
}
getch();
}

Untuk sourcecode dan program eksekusinya ada di:
ziddu, tambah_awal_array.rar
sharecash, Tambah awal array

Read more...

Memasukan dan Mencetak Data pada ARRAY

Array adalah sekumpulan data yang bertipe sama. Data-data tersebut terletak pada satu variable yang disebut variable array. Data-data tersebut disimpan pada sebuah variable berdasarkan index. Berikut adalah program untuk memasukan dan mencetak data pada array:

#include <stdio.h>
#include <conio.h>
main()
{
int data[10];
int index,banyakdata;
/*memasukan array*/
printf("Banyaknya data yang ingin dimasukan: ");
scanf("%d",&banyakdata);
printf("Masukan data anda:\n");
for(index=0;index<banyakdata;index++)
{
printf("Data ke-%d: ",index+1);
scanf("%d",&data[index]);
}

/*Mencetak array*/
printf("\n\n\nData anda andalah:");
for(index=0;index<banyakdata;index++)
{
printf("\nData ke-%d: %d",index+1,data[index]);
}
getch();
}

Sourcecode dan program aplikasi ada di:
ziddu, input_dan_cetak_array.rar
sharecash, Input n output array

Read more...

Saturday, July 24, 2010

Variasi Segitiga

Setelah memahami tentang NESTED LOOP, sekarang saya akan memberikan beberapa variasi program yang tentunya akan memberikan tampilan yang berbeda pula dari yang sederhana. berikut beberapa variasi segitiga.

Read more...

Menggambar Segitiga dengan Bahasa C

Ketika pertama kali saya mempelajari NESTED LOOP, saya diajari membuat segitiga dengan karakter bintang. Berikut ini adalah contoh sederhana dari penggunaan NESTED LOOP untuk membuat segitiga dengan karakter bintang.

#include <conio.h>
#include <stdio.h>
void main()
{
int x,y;
//loop besar menentukan tinggi segitiga
for (x=0;x<5;x++)
{
//loop kecil menentukan banyak segitiga perbaris
for (y=0;y<=x;y++)
{
printf("* ");
}
printf("\n");
}
getch();
}

Read more...

Pengulangan Bersarang (nested loop)

Pada program pengulangan, kita bisa membuat pengulangan secara bertingkat. Program ini biasanya disebut NESTED LOOP atau PENGULANGAN BERSARANG. Cara kerja pengulangan bersarang mirip seperti 2 buah gear besar dan kecil. Gear besar akan berputar setelah gear kecil melakukan beberapa kali putaran.

Sama halnya dengan pengulangan bersarang. LOOP besar akan berjalan setelah LOOP kecil berhenti melakukan pengulangan. Contoh sederhana program NESTED LOOP ada di Menggambar Segitiga dengan Bahasa C. Pada pemrograman yang sudah advance, pengulangan bertingkat bisa sangat rumit dan memiliki 3 atau lebih tingkat pengulangan.

Read more...

Saturday, July 10, 2010

Perulangan C/C++

Pada pemrograman, seringkali kita menginginkan agar perintah dikerjakan secara berulang beberapa kali. Untuk melakukan perintah secara berulang, kita tidak perlu menulis kode program secara berulang-ulang, tetapi kita bisa menggunakan perintah perulangan. Jenis perintah perulangan yaitu, WHILE, DO...WHILE, dan FOR.


Read more...

Friday, July 9, 2010

Variable C/C++

Variable bisa dibilang sebagai tempat kita menyimpan data. Sebelum digunakan, variable harus dideklarasikan (diperkenalkan kepada program) terlebih dahulu. Format deklarasi variable adalah sebagai berikut:

tipe_data nama_variable
contoh:
int bilangan;
char huruf;
float pecahan;

Bila ingin mendeklarasikan dua atau lebih variable dengan tipe data yang sama, kita bisa menggunakan format sebagai berikut:

int bilangan1, bilangan2, bilangan3;

Setelah dideklarasikan, maka variable dapat digunakan pada program. Penggunaan variable bisa dengan memberikan nilai tertentu yang sesuai dengan tipe data variable. Pemberian nilai ke variable disebut assignment atau penugasan. Berikut ini contoh pemberian nilai ke variable:

bilangan = 54;
huruf = 'X';
pecahan = 0.5;


Penugasan variable bisa sekaligus dilakukan ketika variable di deklarasikan. hal ini disebut inisialisasi. Format inisialisasi adalah sebagai berikut:

int bilangan = 54;
char huruf = 'X';


Selain tipe data dasar yang sudah dibahas, ada tipe data yang bisa kita tentukan sebdiri. Tipe data ini adalah itipe data konstan. Tipe data konstan adalah tipe data yang setelh dideklarasikan tidak dapat dirubah lagi nilainya. Biasanya tipe konstan dideklarasikan setelah deklarasi header file. Format deklarasi konstan adalah sebagai berikut:

const tipe_data nama_konstanta = nilai;
contoh:
cons int bilangan = 54;

Read more...

Tipe Data Bahasa C

Perhatikan tabel berikut.
Tipe Data Dasar


TipeKeywordKeterangan
KaraktercharHuruf, angka, tanda baca, spasi, simbol
IntegerintBilangan antara -32.767 sampai 32.767
PecahanfloatPecahan dengan presisi satu
Pecahan gandadoublePecahan presisi dua
Tak bertipevoidTak ada tipenya (netral)

Bagi saya pemrograman bahasa C mengenal 2 tipe data yang utama, yaitu bilangan dan karakter. Bilangan adalah data yang dapat digunakan untuk perhitungan, misalnya pengurangan, penambahan, dll. Karakter adalah semua tanda, huruf, angka dan spasi yang terdapat pada keyboard.

Mungkin bagi anda angka dan bilangan adalah sama. Memang sebenarnya angka dan bilangan sama, tetapi pada blog saya ini saya menggunakan istilah bilangan untuk menunjuk pada angka yang digunakan untuk perhitungan. sedang angka adalah tanda, tidak dapat digunakan untuk perhitungan.

Tetapi kalo menurut yang resminya, tipe data dasar pada pemrograman bahasa C/C++ ya seperti yang ditunjukan pada tabel di atas. selain tipe data dasar, ada juga tipe data konstan, yaitu tipe data yang kita tentukan sendiri sebelum kita gunakan. Nilai konstanta tidak dapat dirubah setelah di deklarasikan.

Read more...

Thursday, July 8, 2010

Perulangan dengan Perintah WHILE

Setelah seleksi, sekarang kita praktek perulangan (looping). Terkadang dalam membuat sebuah program, kita ingin agar program tertentu dilakukan berulang beberapa kali. Perintah perulangan diantaranya WHILE, DO WHILE, FOR. Program dibawah ini adalah program perulangan sederhana dengan perintah WHILE.

#include <stdio.h>
#include <conio.h>
void main()
{
int perulangan=1;
while(perulangan<=5)
//perintah pencetakan akan diulangan sebanyak 5x
{
printf("Pencetakan ke-%d\n",perulangan);
perulangan++;
}
getch();
}

Read more...

Wednesday, July 7, 2010

Seleksi dengan Character

Selain dengan dengan angka, seleksi bisa juga dengan character. Tetapi perlu diingat bahwa bahasa C/C++ merupakan bahasa pemrograman yang "case sensitive". Artinya, membedakan penggunaan huruf besar dan huruf kecil tidak sama. Berikut adalah 2 program seleksi dengan character.

Program dengan SWITCH CASE
#include <stdio.h>
#include <conio.h>
void main()
{
char kodehari;
printf("Kode Hari:\n");
printf("a.Senin b.Selasa c.Rabu d.Kamis\n");
printf("e.Jumat f.Sabtu g.Minggu");
printf("\n\nPilih kode hari: ");
scanf("%c",&kodehari);

/*Menentukan variable pilihan*/
switch(kodehari)
{
/*pilihan pertama*/
/*case hanya bisa menggunakan angka,
tidak bisa menggunakan aljabar boolean*/
case 'a':

/*perintah pada pilihan pertama*/
printf("\nAnda memilih hari Senin.");

/*akhir dari pilihan pertama*/
break;

case 'b':
printf("\nAnda memilih hari Selasa.");
break;

case 'c':
printf("\nAnda memilih hari Rabu.");
break;

case 'd':
printf("\nAnda memilih hari Kamis.");
break;

case 'e':
printf("\nAnda memilih hari Jumat.");
break;

case 'f':
printf("\nAnda memilih hari Sabtu.");
break;

case 'g':
printf("\nAnda memilih hari Minggu.");
break;

/*perintah yang dijalankan bila tidak ada
pilihan yang cocok*/
default:
printf("Anda memilih kode yang salah.");
}
getch();
}

Program dengan IF ELSE
#include <stdio.h>
#include <conio.h>
void main()
{
char kodehari;
printf("Kode Hari:\n");
printf("a.Senin b.Selasa c.Rabu d.Kamis\n");
printf("e.Jumat f.Sabtu g.Minggu");
printf("\n\nPilih kode hari: ");
scanf("%c",&kodehari);
if(kodehari=='a')
{
printf("\nAnda memilih hari Senin.");
}
else if(kodehari=='b')
{
printf("\nAnda memilih hari Selasa.");
}
else if(kodehari=='c')
{
printf("\nAnda memilih hari Rabu.");
}
else if(kodehari=='d')
{
printf("\nAnda memilih hari Kamis.");
}
else if(kodehari=='e')
{
printf("\nAnda memilih hari Jumat.");
}
else if(kodehari=='f')
{
printf("\nAnda memilih hari Sabtu.");
}
else if(kodehari=='g')
{
printf("\nAnda memilih hari Minggu.");
}
else
{
printf("Anda memilih kode yang salah.");
}
getch();
}

Read more...

Tuesday, July 6, 2010

Operasi Pada Segitiga

Berikut ini adalah source code dengan C++ untuk membuat aplikasi operasi pada segitiga. Dalam pembuatan aplikasi ini saya menggunakan pengulangan DO WHILE dan pemilihan IF ELSE. Selain itu saya juga menggunakan fungsi akar sqrt(). Dimana untuk menggunakan fungsi akar diperlukan header file <math.h>.

#include <stdio.h>
#include <math.h>
void main()
{ //deklarsi variable
float a,b,c,luas,keliling,luas2,s,alas,alas2,tinggi,tinggi2;
float setengahalas,setengahalas2,sisimiring,sisimiring2,sisi,sisi2;
int ulangi,jenis,ulangi2;
//awal pengulangan menu utama
do
{
//instruksi menu utama
printf("OPERASI SEGITIGA\n");
printf("Pilih jenis segitiga\n");
printf("1. segitiga sembarang\n");
printf("2. segitiga siku-siku\n");
printf("3. segitiga sama kaki\n");
printf("4. segitiga sama sisi\n");
scanf_s("%d",&jenis);
//masuk ke pilihan segitiga sembarang
if(jenis==1)
{
//awal pengulangan segitiga sembarang
do
{
//cetak instruksi segitiga sembarang
printf("Masukan ketiga sisi segitiga sembarang.\n");
printf("sisi a = ");
scanf_s("%f",&a);
printf("sisi b = ");
scanf_s("%f",&b);
printf("sisi c = ");
scanf_s("%f",&c);
//operasi bila data input error
if(a<=0 || b<=0 || c<=0)
{
printf("Maaf, data yang anda masukan tidak valid.\n");
printf("Apakah anda ingin mencoba lagi?\n");
printf("1. YA\n");
printf("2. TIDAK(kembali ke menu utama)\n");
printf("3. TIDAK(keluar)\n\n\n");
scanf_s("%d",&ulangi);
}
//operasi segitiga sembarang
else
{
keliling=a+b+c;
s=keliling/2;
luas2=s*(s-a)*(s-b)*(s-c);
luas=sqrt(luas2);
}
//cetak hasil segitiga sembarang
printf("sisi pertama = %f\n",a);
printf("sisi kedua = %f\n",b);
printf("sisi ketiga = %f\n",c);
printf("Luas = %f\n",luas);
printf("Keliling = %f\n\n\n",keliling);
printf("Apakah anda ingin melakukan perhitungan lagi? \n");
printf("1. YA\n");
printf("2. TIDAK(kembali ke menu utama)\n");
printf("3. TIDAK(keluar)\n");
scanf_s("%d",&ulangi);
}
//akhir pengulangan segitiga sembarang
while(ulangi==1);
}
//masuk ke segitigasiku-siku
else if(jenis==2)
{
//awal pengulangan segitiga siku-siku
do
{
//cetak instruksi segitiga siku-siku
printf("Masukan elemen segitiga siku-siku.\n");
printf("(bila tidak diketahui, masukan angka 0\n");
printf("alas = \n");
scanf_s("%f",&alas);
printf("tinggi = \n");
scanf_s("%f",&tinggi);
printf("sisi miring = \n");
scanf_s("%f",&sisimiring);
//operasi bila hanya diketahui alas dan tinggi segitiga siku-siku
if(alas!=0 && tinggi!=0 && sisimiring==0)
{
alas2=pow(alas,2);
tinggi2=pow(tinggi,2);
sisimiring2=tinggi2+alas2;
sisimiring=sqrt(sisimiring2);
luas=alas*tinggi/2;
keliling=alas+tinggi+sisimiring;
}
//operasi bila hanya diketahui alas dan sisi miring segitiga siku-siku
else if(alas!=0 && sisimiring!=0 && tinggi==0)
{
alas2=pow(alas,2);
sisimiring2=pow(sisimiring,2);
tinggi2=sisimiring2-alas2;
tinggi=sqrt(alas2);
luas=alas*tinggi/2;
keliling=alas+tinggi+sisimiring;
}
//operasi bila hanya diketahui tinggi dan sisi miring segitiga siku-siku
else if(tinggi!=0 && sisimiring!=0 && alas==0)
{
tinggi2=pow(tinggi,2);
sisimiring2=pow(sisimiring,2);
alas2=sisimiring2-tinggi2;
alas=sqrt(alas2);
luas=alas*tinggi/2;
keliling=alas+tinggi+sisimiring;
}
//operasi bila data yang dimasukan error
else
{
printf("Maaf, data yang anda masukan tidak valid.\n");
printf("Apakah anda ingin mencoba lagi?\n");
printf("1. YA\n");
printf("2. TIDAK(kembali ke menu utama)\n");
printf("3. TIDAK(keluar)\n\n\n");
scanf_s("%d",&ulangi);
}
//cetak hasil segitiga siku-siku
printf("alas = %f\n",alas);
printf("tinggi = %f\n",tinggi);
printf("sisi miring = %f\n",sisimiring);
printf("luas = %f\n",luas);
printf("keliling = %f\n\n\n",keliling);
printf("Apakah anda ingin mengulang perhitungan?\n");
printf("1. YA\n");
printf("2. TIDAK(kembali ke menu utama)\n");
printf("3. TIDAK(keluar)\n");
scanf_s("%d",&ulangi);
}
//akhir pengulangan segitiga siku-siku
while(ulangi==1);
}
//masuk ke pilihan segitiga sama kaki
else if(jenis==3)
{
//awal pengulangan segitiga sama kaki
do
{
//cetak instruksi
printf("Masukan elemen segitiga sama kaki\n");
printf("Bila tidak diketahui, masukan angka 0.\n");
printf("alas = ");
scanf_s("%f",&alas);
printf("tinggi = ");
scanf_s("%f",&tinggi);
printf("sisi miring = ");
scanf_s("%f",&sisimiring);
//operasi bila hanya diketahui alas dan tinggi segitiga sama kaki
if(alas!=0 && tinggi!=0 && sisimiring==0)
{
setengahalas=alas/2;
setengahalas2=setengahalas*setengahalas;
tinggi2=tinggi*tinggi;
sisimiring2=tinggi2+setengahalas2;
sisimiring=sqrt(sisimiring2);
luas=setengahalas*tinggi;
keliling=sisimiring*2+alas;
}
//operasi bila hanya diketahui alas dan sisi miring segitiga sama kaki
else if(alas!=0 && tinggi==0 && sisimiring!=0)
{
setengahalas=alas/2;
setengahalas2=pow(setengahalas,2);
sisimiring2=pow(sisimiring,2);
tinggi2=sisimiring2-setengahalas2;
tinggi=sqrt(tinggi2);
luas=setengahalas*tinggi;
keliling=sisimiring*2+alas;
}
//operasi bila hanya dioketahui tinggi dan sisi miring segitiga sama kaki
else if(alas==0 && tinggi!=0 && sisimiring!=0)
{
sisimiring2=pow(sisimiring,2);
tinggi2=pow(tinggi,2);
setengahalas2=sisimiring2-tinggi2;
setengahalas=sqrt(setengahalas2);
luas=setengahalas*tinggi;
keliling=sisimiring*2+alas;
}
//operasi bila data error
else
{
printf("Maaf, data yang anda masukan tidak valid.\n");
printf("Apakah anda ingin mencoba lagi?\n");
printf("1. YA\n");
printf("2. TIDAK(kembali ke menu utama)\n");
printf("3. TIDAK(keluar)\n\n\n");
scanf_s("%d",&ulangi);
}
//cetak hasil segitiga sama kaki
printf("alas = %f\n",alas);
printf("tinggi = %f\n",tinggi);
printf("sisi miring = %f\n",sisimiring);
printf("luas = %f\n",luas);
printf("keliling = %f\n\n\n",keliling);
printf("Apakah anda ingin mengulang perhitungan?");
printf("1. YA\n");
printf("2. TIDAK(kembali ke menu utama)\n");
printf("3. TIDAK(keluar)\n");
scanf_s("%d",&ulangi);
}
//akhir pengulangan segitiga sama kaki
while(ulangi==1);
}
//masuk ke pilihan segitiga sama sisi
else if(jenis==4)
{
//awal pengulangan segitiga sama sisi
do
{
//cetak instruksi
printf("Masukan elemen segitiga sama sisi.\n");
printf("Bila tidak diketahui masukan angka 0.\n");
printf("sisi = ");
scanf_s("%f",&sisi);
printf("luas = ");
scanf_s("%f",&luas);
printf("keliling = ");
scanf_s("%f",&keliling);
//operasi bila sisi yang diketahui
if(sisi!=0)
{
luas=sisi*sisi/4*1.732051;
keliling=sisi*3;
}
//operasi bila luas yang diketahui
else if(luas!=0)
{
sisi2=luas*4/1.732051;
sisi=sqrt(sisi2);
keliling=sisi*3;
}
//operasi bila keliling yang diketahui
else if(keliling!=0)
{
sisi=keliling/3;
luas=sisi*sisi/4*1.732051;
}
//cetak hasil segitiga sama sisi
printf("sisi = %f\n",sisi);
printf("luas = %f\n",luas);
printf("keliling = %f\n\n\n",keliling);
printf("Apakah anda ingin mengulang perhitungan?");
printf("1. YA\n");
printf("2. TIDAK(kembali ke menu utama)\n");
printf("3. TIDAK(keluar)\n");
scanf_s("%d",&ulangi);
}
//akhir pengulangan segitiga sama sisi
while(ulangi==1);
}
//pemberitahuan bila pilihan pada menu utama salah
else
{
printf("Maaf pilihan anda salah, apakah anda ingin mengulangi?\n");
printf("1. YA\n");
printf("2. TIDAK(keluar)");
scanf_s("%d",&ulangi2);
}

}
//akhir pengulangan menu utama
while(ulangi==2 || ulangi2==1);
}

Read more...

Monday, July 5, 2010

Operasi Pada Lingkaran

          Berikut ini saya mencoba untuk membuat sebuah aplikasi sederhana untuk melakukan operasi pada lingkaran. Pada aplikasi ini saya menggunakan pengulangan DO WHILE dan pemilihan IF ELSE.


#include <stdio.h>
#include <math.h>
void main()
{
float phi=3.142857,r2,r,keliling,luas;
int ulangi;
do
{
printf("Masukan elemen lingkaran yang anda ketahui.\n");
printf("Bila tidak diketahui, masukan angka 0\n");
printf("Jari-jari = ");scanf_s("%f",&r);
printf("Keliling = ");scanf_s("%f",&keliling);
printf("Luas = ");scanf_s("%f",&luas);
if(r!=0)
{
luas=phi*r*r;
keliling=phi*2*r;
}
else if(keliling!=0)
{
r=keliling/phi/2;
luas=phi*r*r;
}
else(luas!=0);
{
r2=luas/phi;
r=sqrt(r2);
keliling=phi*2*r;
}
printf("\n\n\nJari-jari = %f",r);
printf("\nKeliling = %f",keliling);
printf("\nLuas = %f\n\n\n",luas);
printf("\nUlangi operasi?");
printf("\n1. YA");
printf("\n2. TIDAK");
printf("\n(Masukan pilihan lalu tekan enter) ");
scanf_s("%d",&ulangi);
}
while(ulangi==1);
}
Untuk program eksekusinya, silahkan download disini

operasilingkaran.rar

Read more...

Menghitung Sisi Miring Segitiga siku-siku

Program ini dibuat untuk menghitung sisi miring segitiga siku-siku. perbedaan dari program sebelumnya adalah peggunaan fungsi sqrt(). Yaitu fungsi untuk mencari akar pangkat dua dari variabke atau angka.Berikut programnya:

//header file
#include <stdio.h>
#include <conio.h>
#include <math.h>
//fungsi utama (batang tubuh program)
int main()
{
int tinggi,alas,alaskuadrat,tinggikuadrat,sisimiringkuadrat;
float sisimiring;
printf("Menghitung sisi miring segitiga siku-siku");
printf("\n=========================================");
printf("\nMasukan tinggi segitiga : ");
scanf("%i",&tinggi);
printf("Masukan alas segitiga : ");
scanf("%i",&alas);
tinggikuadrat=tinggi*tinggi;
alaskuadrat=alas*alas;
sisimiringkuadrat=alaskuadrat+tinggikuadrat;
/*sqrt() merupakan fungsi untuk mencari akar kuadrat dari
variable atau angka di dalam kurung.
Fungsi ini memerlukan header file math.h*/
sisimiring=sqrt(sisimiringkuadrat);
printf("\nSisi miring segitiga = %f",sisimiring);
printf("\n\n\nTekan tombol apa saja untuk keluar");
getch();
}
Untuk program eksekusinya ada di:
sisimiringsikusiku.zip

Read more...

Contoh IF ELSE Untuk Banyak Pilihan

Posting berikut ini adalah contoh penggunaan seleksi IF ELSE untuk banyak pilihan. Pada contoh berikut ini memang hanya untuk mencetak tulisan saja, tetapi sebenarnya seleksi IF ELSE juga bisa untuk mengerjakan operasi lain, misalnya operasi terhadap variable (penjumlahan, pengurangan, perkalian, dll....). Inilah kode programnya

#include <stdio.h>
#include <conio.h>
int main()
{
int kodehari;
printf("Kode Hari:\n");
printf("1.Senin 2.Selasa 3.Rabu 4.Kamis\n");
printf("5.Jumat 6.Sabtu 7.Minggu");
printf("\n\nPilih kode hari: ");
scanf("%d",&kodehari);
if(kodehari==1)
{
printf("\nAnda memilih hari Senin.");
}
else if(kodehari==2)
{
printf("\nAnda memilih hari Selasa.");
}
else if(kodehari==3)
{
printf("\nAnda memilih hari Rabu.");
}
else if(kodehari==4)
{
printf("\nAnda memilih hari Kamis.");
}
else if(kodehari==5)
{
printf("\nAnda memilih hari Jumat.");
}
else if(kodehari==6)
{
printf("\nAnda memilih hari Sabtu.");
}
else if(kodehari==7)
{
printf("\nAnda memilih hari Minggu.");
}
else
{
printf("Anda memilih kode yang salah.");
}
getch();
}

jika anda berminat untuk melihat, program eksekusinya ada di:
pilih_hari.zip

Read more...

Sunday, July 4, 2010

Seleksi Banyak pilihan dengan SWITCH CASE

Selain menggunakan IF ELSE, seleksi untuk banyak pilihan bisa juga menggunakan SWITCH CASE. Tetapi, metode SWITCH CASE memiliki kekurangan, yaitu hanya bisa digunakan apabila pilihan yang diinginkan sama persis dengan yang ditampilkan. Sehingga sengan switch case kita tidak bisa menggunakan tanda "<" atau ">". Berikut source codenya:

#include <stdio.h>
#include <conio.h>
int main()
{
int kodehari;
printf("Kode Hari:\n");
printf("1.Senin 2.Selasa 3.Rabu 4.Kamis\n");
printf("5.Jumat 6.Sabtu 7.Minggu");
printf("\n\nPilih kode hari: ");
scanf("%d",&kodehari);

/*Menentukan variable pilihan*/
switch(kodehari)
{
/*pilihan pertama*/
/*case hanya bisa menggunakan angka,
tidak bisa dengan aljabar boolean*/
case 1:

/*perintah pada pilihan pertama*/
printf("\nAnda memilih hari Senin.");

/*akhir dari pilihan pertama*/
break;

case 2:
printf("\nAnda memilih hari Selasa.");
break;

case 3:
printf("\nAnda memilih hari Rabu.");
break;

case 4:
printf("\nAnda memilih hari Kamis.");
break;

case 5:
printf("\nAnda memilih hari Jumat.");
break;

case 6:
printf("\nAnda memilih hari Sabtu.");
break;

case 7:
printf("\nAnda memilih hari Minggu.");
break;

/*perintah yang dijalankan bila tidak ada
pilihan yang cocok*/
default:
printf("Anda memilih kode yang salah.");
}
getch();
}

Untuk file dalam format .cpp dan program eksekusinya ada di:
pilih_hari_2.zip

Read more...

Program Lebih Banyak Syarat

Ini adalah contoh lain dari program banyak syarat dengan if else. Bila sebelumnya hanya ada 3, sekarang saya buat lebih banyak syarat lagi. Berikut programnya

#include <stdio.h>
#include <conio.h>
void main()
{
int usia;
printf("Berapa usia anda: ");
scanf("%d",&usia);
if (usia<=0)
{
printf("Usia anda tidak masuk akal.");
}
else if(usia<=12)
{
printf("Kamu masih anak-anak.");
}
else if(usia<=18)
{
printf("Kamu memasuki masa puber.");
}
else if(usia<=30)
{
printf("Anda sudah dewasa.");
}
else if(usia<=45)
{
printf("Anda sudah setengah baya.");
}
else if(usia>110)
{
printf("Usia anda tidak mungkin");
}
else
printf("Anda sudah tua");
getch();
}

Read more...

Program banyak Syarat

Bila program sebelumnya hanya ada dua pilihan atau dua syarat, program berikut ini adalah program dengan banyak pilihan. Untuk membuat program dengan banyak pilihan, saya menggunakan fungsi (perintah) IF ELSE. Berikut ini program untuk mengetahui apakah suatu bilangan adalah negatif, nol atau positif.

#include <stdio.h>
#include <conio.h>
void main()
{
int bilangan;
printf("Masukan sebuah bilangan: ");
scanf("%d",&bilangan);
if(bilangan<0)
{
printf("Bilangan yang anda msukan adalah bilangan negatif");
}
else if(bilangan==0)
{
printf("Bilangan nol adalah bilangan netral");
}
else
printf("Bilangan yang anda masukan adalah bilangan positif");
getch();
}

Read more...

Perintah Bersyarat

Bila program sebelumnya melaksanakan semua perintah kita dengan berurutan, maka sekarang kita buat progranm kita melaksanakan perintah pada keadaan tertentu saja. untuk membuat program seperti ini, kita butuh fungsi IF. Fungsi if hanya akan melaksanakan perintah bila sebuah syarat terpenuhi. Berikut adalah contoh programnya.

#include <conio.h>
#include <stdio.h>
void main()
{
int bilangan,status;
printf("Masukan sebuah bilangan: ");
scanf("%d",&bilangan);
status=bilangan%2;
if(status==0)
{
printf("Bilangan yang anda masukan adalah bilangan genap");
}
printf("Bilangan yang anda masukan adalah bilangan ganjil");
getch();
}

Read more...

Operasi Modulus Bahasa C

Pada matematika yang biasa kita lakukan, kita tidak menemui adanya operasi modulus. Modulus menunjukan sisa dari operasi pembagian pada perhitungan aritmatika. Operasi ini hanya bisa dilakukan pada tipe data integer. Karena integer hanya bisa menunjukan bilangan bulat saja (tanpa ada pecahan). Berikut contoh program operasi modulus.

#include <stdio.h>
#include <conio.h>
void main()
{
int bil1,bil2,hasil;
printf("Masukan bilangan 1: ");
scanf("%d",&bil1);
printf("Masukan bilangan 2: ");
scanf("%d",&bil2);
hasil=bil1%bil2;
printf("Sisa dari bilangan 1 dibagi bilangan 2 adalah: %d",hasil);
getch();
}

Read more...

Input Perhitungan Bahasa C

Program berikut ini adalah program aritmatika (perhitungan) bahasa C yang dimodif agar bisa menerima input. fungsi yang bertugas untuk menerima input dari pengguna adalah fungsi scanf(). Berikut program lengkapnya.

#include <stdio.h>
#include <conio.h>
void main()
{
int bil1,bil2,hasil;
printf("Masukan bilangan 1: ");
scanf("%d",&bil1);
printf("Masukan bilangan 2: ");
scanf("%d",&bil2);
hasil=bil1*bil2;
printf("Bilangan1 dikali bilangan2 hasilnya = %d\n",hasil);
hasil=bil1+bil2;
printf("Bilangan1 ditambah bilangan2 hasilnya = %d\n",hasil);
hasil=bil1-bil2;
printf("Bilangan1 dikurangi bilangan2 hasilnya = %d\n",hasil);
hasil=bil1/bil2;
printf("Bilangan1 dibagi bilangan2 hasilnya = %d\n",hasil);
hasil=bil1%bil2;
printf("Bilangan1 modulus bilangan2 hasilnya = %d\n",hasil);
getch();
}

Read more...

Followers

followers

  © Blogger templates ProBlogger Template by Ourblogtemplates.com 2008

Back to TOP