Percabangan dalam Bahasa C
- Percabangan if
Contoh flowchartnya adalah sebagai berikut
int main (void){
unsigned char data_serial;
USART_INIT(MYUBRR);
data_serial=USART_Receive();
if (data_serial=='0'){ //apabila data serial = ‘0’ maka
USART_Transmit('O'); //jalankan blok instruksi yang
USART_Transmit('F'); //mengirimkan ‘OFF’ ke port
USART_Transmit('F'); //serial
while(1); //
}
USART_Transmit('O'); //apabila data serial =buka ‘0’
USART_Transmit('N'); //maka kirim ON
while(1);
}
2. Percabangan if else
int main (void){
unsigned char data_serial;
USART_INIT(MYUBRR);
data_serial=USART_Receive();
if (data_serial=='0'){
USART_Transmit('O');
USART_Transmit('F');
USART_Transmit('F');
}
else{
USART_Transmit('O');
USART_Transmit('N');
}
unsigned char tabel_data [16]={0x0D,0x0A,'t','o','m','b','o','l',' ','s','e','l','e','s','a','i'};
for (int i=0;i<16;i++)
USART_Transmit(tabel_data[i]);
while(1);
}
Pada contoh di atas artinya apabila data serial = ‘0’ maka kirim “OFF” dan akhiri dengan “tombol selesai” namun else apabila ‘1’ maka kirim “ON” dan akhiri dengan “tombol selesai”
3. Percabangan if else if
int main (void){
unsigned char data_serial;
USART_INIT(MYUBRR);
data_serial=USART_Receive();
if (data_serial=='0'){
USART_Transmit('O');
USART_Transmit('F');
USART_Transmit('F');
}
else if (data_serial=='1'){
USART_Transmit('O');
USART_Transmit('N');
}
else if (data_serial=='2')
USART_Transmit('?');
else
USART_Transmit('*');
unsigned char tabel_data [16]={0x0D,0x0A,'t','o','m','b','o','l',' ','s','e','l','e','s','a','i'};
for (int i=0;i<16;i++)
USART_Transmit(tabel_data[i]);
while(1);
}
5. Percabangan Nested
int main (void){
unsigned char data_serial;
USART_INIT(MYUBRR);
data_serial=USART_Receive();
if (data_serial=='0'){
data_serial=USART_Receive();
if (data_serial=='A'){
USART_Transmit('O');
USART_Transmit('F');
USART_Transmit('F');
USART_Transmit(' ');
USART_Transmit('A');
}
else{
USART_Transmit('O');
USART_Transmit('F');
USART_Transmit('F');
USART_Transmit(' ');
USART_Transmit('B');
}
}
else{
data_serial=USART_Receive();
if (data_serial=='A'){
USART_Transmit('O');
USART_Transmit('N');
USART_Transmit(' ');
USART_Transmit('A');
}
else{
USART_Transmit('O');
USART_Transmit('N');
USART_Transmit(' ');
USART_Transmit('B');
}
}
unsigned char tabel_data [16]={0x0D,0x0A,'t','o','m','b','o','l',' ','s','e','l','e','s','a','i'};
for (int i=0;i<16;i++)
USART_Transmit(tabel_data[i]);
while(1);
}
Perulangan dalam C
1. Perulangan For
int main (void){
USART_INIT(MYUBRR);
for (int i=0;i<5;i++)
USART_Transmit(i);
while(1);
}
2. Perulangan While
Memiliki bentuk yang sama dengan for hanya saja pada while proses perulangan terus dilanjutkan hingga diperoleh kondisi false
int main (void){
USART_INIT(MYUBRR);
int counter=0;
while (counter<5){
USART_Transmit(counter);
counter++;
}
while(1);
}
3. Perulangan Do/While
Perulangan ini dilakukan dengan terlebih dahulu melakukan satu kali proses dan selanjutnya diulang hingga diperoleh nilai yang false dari while
int main (void){
USART_INIT(MYUBRR);
int counter=0;
do{
USART_Transmit(counter);
counter++;
}
while(counter<5);
while(1);
}
4. Perulangan Nested
Merupakan perulangan yang dilakukan di dalam perulangan sebagai berikut
int main (void){
USART_INIT(MYUBRR);
int counter=0;
do{USART_Transmit(counter);
counter++; }
while(counter<5);
while(1);}
Di sini proses perulangan dilakukan sebanyak I x j
DELTA ELECTRONIC
Paulus Andi Nalwan, ST




