ALUR PROGRAM. SELEKSI KONDISI Statement If a. Bentuk If tunggal sederhana Sintaks : if ( kondisi ) statement ;

dokumen-dokumen yang mirip
ARRAY & POINTER. Listing 8.1. EXPENSES.C demonstrates the use of an array. AP3: Array & Pointer

Pointer. ted = &andy;

BAB 5 PERULANGAN DAN ARRAY

ALGORITMA DAN STRUKTUR DATA

TUGAS TEORI ALGO LANJUT

KENDALI PROSES. Untuk mengatur arus program, pemrograman java menyediakan struktur perulangan (looping), kondisional, percabangan, dan lompatan.

3. Struktur Perulangan dalam C++

OPERASI PERNYATAAN KONDISI

By : Agus Priyanto, M.Kom ST3 Telkom Purwokerto Structure and Pointer

PENYELEKSIAN KONDISI

Array 1 A. TUJUAN PEMBELAJARAN

Looping : break, continue, nested loop

IT234 - Algoritma dan Struktur Data. Ramos Somya

Kondisional/Pencabangan/Pemilihan. Konsep Pencabangan Sintaks Konsep if (kasus tunggal) Konsep if-else (2-3 kasus) Konsep switch (lebih dari 3 kasus)

PRAKTIKUM 6 PENGULANGAN PROSES 2

IF ELSE IF ELSE. BU : if (kondisi1) Statement; else if (kondisi2) Statement;

MENGENDALIKAN PROSES PROGRAM

KENDALI PROSES. 6.1 PENYELEKSIAN KONDISI (Selection)

MAKALAH POINTER PADA BAHASA C

OPERATOR DAN STATEMEN I/O

Percabangan. Agus Priyanto, M.Kom

Konsep Pemrograman. Bab 12. Pointer 2. Konsep Pemrograman Politeknik Elektronika Negeri Surabaya 2006 PENS-ITS. Umi Sa adah

BAB 5. KONDISI DAN ARRAY

Proses Perulangan (Looping) DASAR PROGRAMMING 1

BAB IV PENGULANGAN PROSES

Algoritma Pemrograman 2B (Pemrograman C++)

PERULANGAN PROSES. Proses perulangan ditandai dengan mekanisme yang disebut loop. Proses Loop : Proses yang berulang-ulang

OPERATOR, PERULANGAN DAN SELEKSI KONDISI

3. Struktur Perulangan dalam Bahasa C++

IF IF ELSE. ELSE IF SWITCH CASE STATEMENT F NT OR, W HILE D O WHILE I 2

IT234 - Algoritma dan Struktur Data. Ramos Somya

Dasar Pemrograman. Kondisi dan Perulangan. By : Hendri Sopryadi, S.Kom, M.T.I

SOAL C++ Created by Yuli Astuti,S.Kom Copyright 2009

Pertemuan 4 ELEMEN-ELEMEN BAHASA PEMROGRAMAN

Array LOGO. Pendidikan Teknik Elektronika FT UNY. Muh. Izzuddin Mahali, M.Cs.

Larik/ Array int a1, a2, a3, a4, a5;

POINTER DASAR PEMROGRAMAN

Praktikum 5 PERULANGAN PROSES

Achmad Solichin.

Struktur dan Kondisi Perulangan. Struktur Kondisi

BAHASA PEMROGRAMAN C

PERTEMUAN 2 ARRAY, PERCABANGAN, DAN PERULANGAN

Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu :

# FOUR LOOPING. JAWABAN 1. #include <stdio.h> #include <conio.h> #define pi void main(){

V. STRUKTUR PEMILIHAN

BAB VI. STATEMENT CONTROL

LOGIKA ALGORITMA. Pertemuan 9 By: Augury

A. Dasar Teori. Urutan (Sequence) Pemilihan (Selection) Pengulangan (Iteration) Pernyataan Kondisional (If Statement)

24/09/2017 PERCABANGAN

PRAKTIKUM 4 PENGAMBILAN KEPUTUSAN

PERCABANGAN P E N G E N A L A N P R O G R A M S T U D I T E K N I K I N F O R M AT I K A. Institut Teknologi Sumatera

Algoritma Pemrograman. Fery Updi,M.Kom

ARRAY. Karakteristik

Keg. Pembelajaran 5 : Perulangan dalam C++ 1. Tujuan Kegiatan Pembelajaran 2. Uraian Materi while do..while for continue dan break go to

Pemrograman Dasar R E P E T I T I O N

Kisi-Kisi Ujian Tengah Semester Algoritma dan Pemrograman Lanjut

Latihan & Kisi-kisi UTS DASAR PEMROGRAMAN

Chapter 1 KONSEP DASAR C

PENGANTAR KOMPUTER & SOFTWARE II PERCABANGAN

PERNYATAAN DAN KONDISI

BAB III PENGAMBILAN KEPUTUSAN

Tipe Data, Variabel, Input/Output

xxxx alamat Praktikum 11 POINTER

BAB 4 KONDISI / PEMILIHAN

PRAKTIKUM 9 ARRAY. ARRAY BERDIMENSI SATU Suatu array berdimensi satu dideklarasikan dalam bentuk umum berupa :

Perulangan, Percabangan, dan Studi Kasus

MODUL. Pointer. Modul Praktikum C++ Dasar Pemrograman Komputer JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK

Pertemuan 9: BRANCHING/PERCABANGAN dalam C LOOPING/PERULANGAN/ITERASI dalam C

Pertemuan 06. Dasar Pemrograman Komputer [TKL-4002] 2010

PENGANTAR KOMPUTER & SOFTWARE II PERCABANGAN

Selection, Looping, Branching

Kondisi dan Perulangan

Tipe Data dan Operator

Seluruh elemen di dalam struktur array mempunyai tipe data yang sama. Random Access

MODUL PRAKTIKUM. MODUL I - VIII Modul penuntun dan bahan praktikum matakuliah algoritma dan pemograman

Kisi-Kisi Ujian Akhir Semester Algoritma dan Pemrograman Lanjut

Struct Lanjutan: Studi Kasus

Pengambilan Keputusan. Konsep Pemrograman Oleh Tita Karlita

Selection / Pemilihan PEMILIHAN

Pointer, File Header & Makro

Pertemuan 2 ARRAY DIMENSI 1 & 2

LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA Searching ( Pencarian ) Modul III

Algoritme dan Pemrograman

Bahasa C melengkapi fasilitas modular dengan menggunakan fungsi pada setiap SubProgram. Contoh pembagian program menjadi beberapa subprogram.

MODUL PRAKTIKUM ALGORITMA DAN STRUKTUR DATA PERTEMUAN 1

PRAKTIKUM 4 PENGAMBILAN KEPUTUSAN

V. PENGULANGAN. while (kondisi) { Pernyataan ; } Copyright PIK Unsri Agustus 2006

BAGIAN A. PILIHAN GANDA Silanglah Jawaban yang Benar Pada Lembar Jawaban. Jawaban benar bernilai 3, salah atau kosong bernilai 0.

Pengantar Pemrograman

Struktur Kondisi dan Perulangan

Bahasa C-M6 By Jamilah, Skom 1


PRAKTIKUM 12 POINTER 2

Algoritma & Pemrograman #9. by antonius rachmat c, s.kom, m.cs

ARRAY DIMENSI 1 & 2. Array dapat didefinisikan sebagai suatu himpunan hingga elemen yang terurut dan homogen.

MODUL PRAKTIKUM BAHASA PEMROGRAMAN TESTRUKTUR MODUL 8 POINTER

MODUL IV Analisis Kasus/Pemilihan

STRUKTUR DATA MENGGUNAKAN C++ Windha Mega PD, S.Kom

P9 Seleksi & Perulangan

Pada akhir pertemuan ini, diharapkan mahasiswa memiliki kemampuan untuk: Menggunakan struktur kendali pencabangan bersyarat dalam bahasa pemrograman.

Transkripsi:

SELEKSI KONDISI Statement If a Bentuk If tunggal sederhana if ( kondisi ) statement ; ALUR PROGRAM Bentuk ini menunjukkan jika kondisi bernilai benar, maka statement yang mngikutinya akan dieksekusi Jika tidak maka statement selanjutnya yang akan diproses b Bentuk If tunggal blok statement if ( kondisi ) { blok statement; Perbedaan dengan bentuk sebelumnya statement yang akan dilaksanakan ada dalam satu blok kurung kurawal c Bentuk IfElse sintaks : if ( kondisi ) statement1; statement2; Statement setelah kondisi atau statement sesudah dapat berupa statement kosong, statement tunggal maupun blok statement statement1 akan dijalankan jika kondisi benar, jika salah maka statement2 yang akan diproses contoh : //Program menentukan ganjil atau genap #include<stdioh> int main(){ int Bilangan; char Lagi; printf("mencari Bilangan Ganjil atau Genap\n\n"); printf("input Bilangan : "); scanf("%d", &Bilangan); if(bilangan %2 == 1) printf("\n\nini Bilangan Ganjil"); printf("\n\nini Bilangan Genap"); return 0; Mencari Bilangan Ganjil atau Genap Input Bilangan : 15 Ini Bilangan Ganjil AP3/KD-045211/TI/Ayuliana,ST/2009 1

d Bentuk If if if ( kondisi 1) statement1; if ( kondisi 2 ) statement2; if ( kondisi 3) statement3; statement default; Proses akan mulai dari penyeleksian kondisi 1, jika benar maka statement yang mengikutinya akan dieksekusi, jika salah maka akan masuk proses seleksi kondisi 2, begitu seterusnya Jika semua kondisi tidak ada yang terpenuhi, maka program akan menjalankan statement default contoh : //Program Mencari Mutu Nilai #include<stdioh> int main(){ int Nilai; char Mutu; printf("mencari Mutu Nilai\n\n"); printf("input Nilai Mahasiswa : ");scanf("%d", &Nilai); if (Nilai<50) Mutu = 'E'; if(nilai<65) Mutu = 'D'; if(nilai<75) Mutu ='C'; if (Nilai<85) Mutu ='B'; Mutu = 'A'; printf("\n\nnilai Mahasiswa yang diinput = %d", Nilai); printf("\nmutu Nilai = %c", Mutu); return 0; Mencari Mutu Nilai Input Nilai Mahasiswa : 78 Nilai Mahasiswa yang diinput = 78 Mutu Nilai = B e Bentuk If bersarang ( nested if ) if ( kondisi 1) if ( kondisi 2) if (kondisi n ) statement; statement; statement statement; AP3/KD-045211/TI/Ayuliana,ST/2009 2

Kondisi yang akan diseleksi pertama kali adalah kondisi yang paling luar (kondisi 1) Jika bernilai tidak benar maka statement setelah yang terluar ( pasangan dari if yang bersangkutan ) yang akan diproses f Bentuk If dengan kondisi berupa variable Contoh : if ( D == 0 ) printf ( Nilai D sama dengan Nol \n ); printf ( Nilai D tidak sama dengan Nol \n ); g Bentuk If dengan kondisi Jamak Beberapa kondisi dapat diseleksi sekaligus dalam statement if dengan menggunakan operator logika AND ( && ), OR ( ), atau NOT (! ) h Operator? Dapat digunakan untuk menggantikan statement if sintaks : ( kondisi )? statement1 : statement2; jika benar statement1 akan diproses, jika salah statement2 yang akan diproses Statement Switch a Statement Switch tunggal switch ( kondisi ) { case konstanta1 : statement-statement; case konstanta2 : statement-statement; default : statement-statement; contoh : //Program dengan switch Case #include<stdioh> int main(){ int Pilih; printf("----menu BUAH----\n"); printf("\n1 APEL"); printf("\n2 MANGGA"); printf("\n3 JERUK"); printf("\n4 KELUAR"); printf("\n\npilihan Anda [1-4] : "); scanf("%d",&pilih); switch(pilih){ case 1 : printf("\n\nanda PILIH APEL"); AP3/KD-045211/TI/Ayuliana,ST/2009 3

case 2 : printf("\n\nanda PILIH MANGGA"); case 3 : printf("\n\nanda PILIH JERUK"); case 4 : exit(0); default : printf("\n\nanda SALAH INPUT"); return 0; b Statement nested switch Yaitu statement switch yang berada didalam switch lainnya switch ( kondisi ) { case konstanta 1 : statement-statement ; switch ( kondisi x ) { case konstanta 1a : statement-statement ; case konstanta 1b : statement-statement ; case konstanta 2 : statement-statement; PERULANGAN a Statement for for ( inisialisasi; terminasi; iterasi ) statement; inisialisasi adalah pemberian nilai awal variable untuk perulangan, terminasi adalah pemberian nilai akhir atau batas perulangan, iterasi adalah perubahan variable kontrol (counter) b Statement while while (kondisi ) statement; Statement dapat berupa statement kosong, statement tunggal maupun blok statement Proses perulangan akan terus dilaksanakan jika kondisi dalam while masih bernilai benar c Statement do while do statement while ( kondisi ) Sedikitnya statement akan diproses sebanyak 1 kali karena seleksi kondisi dilaksanakan diakhir statement d Statement continue Statement continue akan menyebabkan proses perulangan kembali ke awal perulangan dengan mengabaikan statement setelah statement continue AP3/KD-045211/TI/Ayuliana,ST/2009 4

contoh : //Program dengan for & continue #include<stdioh> 0 1 2 3 4 6 7 8 9 int main(){ int X; for (X=0; X<10; X++){ if (X==5) continue; printf( %d, X); return 0; e Statement break Statement break akan menyebabkan proses keluar dari blok looping atau blok statement pada case contoh : //Program dengan for & break #include<stdioh> 0 1 2 3 4 int main(){ int X; for (X=0; X<10; X++){ if (X==5) printf( %d, X); return 0; f Statement goto label Digunakan untuk melompat dari satu proses ke proses tertentu didalam program goto label; Proses lain yang ditunjuk sebagai lompatan akan ditulis label : ARRAY(LARIK) Larik adalah kumpulan nilai-nilai data bertipe sama dalam urutan tertentu yang menggunakan sebuah nama yang sama Nilai-nilai data di suatu larik disebut dengan elemen larik yang letak urutannya ditunjukkan oleh suatu subscript atau suatu index yang dimulai dengan index nol Larik dapat berdimensi satu (one dimensional array) yang mewakili suatu vektor, larik berdimensi dua (two dimensional array) mewakili bentuk suatu matrik atau tabel, larik berdimensi tiga (three dimensional array) mewakili suatu bentuk ruang atau berdimensi lebih dari tiga Array Dimensi 1 Suatu larik dapat dideklarasikan dengan menyebutkan jumlah dari elemennya yang dituliskan diantara tanda [ ] Contoh : Int X[5]; Berarti variabel X bertipe integer dan merupakan larik dimensi satu AP3/KD-045211/TI/Ayuliana,ST/2009 5

Contoh larik berdimensi Satu : #include <stdioh> main() { float X[3] = {5,3,7, Total = 0; int I; for(i=0;i<=2;i++) Total = Total + X[I]; printf( Total = %f \n,total); Total = 15000000 Array Dimensi 2 Pendeklarasian larik dimensi dua : int X[3][4]; berarti akan membentuk matrik dengan ukuran 3 baris X 4 kolom int X[2][3]={1,2,3,4,5,6 matrik 2X3 atau larik tidak berukuran seperti : int X[ ][4] ={1,2,3,4,5,6,7,8 matrik 2X4 Contoh larik dimensi dua : #include <stdioh> main(){ int I,J; float X[3][4] = { 1234, 3456, 5678, 7890, 2345, 4567, 6789, 8901, 3456, 5678, 7890, 9012; 1234 3456 5678 7890 2345 4567 6789 8901 3456 5678 7890 9012 /*Menampilkan dalam bentuk matrik*/ for(i=0;i<3;i++){ for(j=0;j<3;j++) printf( %82f, X[I][J]); printf( \n ); printf( \n ); Larik String Hubungan antara nilai larik string dengan nilai larik karakter String Character Nilai string tunggal Larik karakter dimensi satu Larik string dimensi satu Larik karakter dimensi dua Larik string dimensi dua Larik karakter dimensi tiga Larik string dimensi N Larik karakter dimensi N + 1 Contoh 1 : #include <stdioh> main(){ int I,J; char Hari[7][10] = { Minggu, Senin, Selasa, Rabu, Kamis, Jum at, Sabtu ; for(i=0;i<7;i++) { for(j=0;j<10;j++) printf( %c, Hari[I][J]); printf( \n ); AP3/KD-045211/TI/Ayuliana,ST/2009 6

Minggu Senin Selasa Rabu Kamis Jum at Sabtu Contoh 2 : #include <stdioh> main(){ int I; char Hari[7][10] = { Minggu, Senin, Selasa, Rabu, Kamis, Jum at, Sabtu ; for(i=0;i<7;i++) printf( %s \n, Hari[I]); Minggu Senin Selasa Rabu Kamis Jum at Sabtu Contoh 3 : #include <stdioh> main(){ int I,J; char Nama[5][3][10] = { Adit, Bayu, Coki, Dhani, Erwin, Fenty, Gunarto, Henry, Ibrahim, Joko, Kemal, Lukman, Meny, Nony, Onie ; for(i=0;i<5;i++) { printf( Nama-nama dikelas %1d adalah : \n, I+1); for(j=0;j<3;j++) printf( %s \n, Nama[I][J]); Nama-nama dikelas 1 adalah : Adit Bayu Coki Nama-nama dikelas 2 adalah : Dhani Erwin Fenty Nama-nama dikelas 3 adalah : Gunarto Henry Ibrahim Nama-nama dikelas 4 adalah : AP3/KD-045211/TI/Ayuliana,ST/2009 7

Joko Kemal Lukman Nama-nama dikelas 5 adalah : Meny Nony Onie POINTER Suatu pointer (variabel penunjuk) adalah suatu variabel yang berisi dengan alamat lokasi suatu memori tertentu Bahasa C menyediakan 2 buah operator untuk operasi pointer yaitu operator * dan operator & Operator Alamat (Address operator (&)) Pada saat pendeklarasian variable, user tidak diharuskan menentukan lokasi sesungguhnya pada memory, hal ini akan dilakukan secara otomatis oleh kompilerdan operating sysem pada saat runtime Jika ingin mengetahui dimana suatu variable akan disimpan, dapat dilakukan dengan memberikan tanda ampersand (&) didepan variable, yang berarti "address of" Contoh: ted = &andy; Akan memberikan variable ted alamat dari variable andy, karena variable andy diberi awalan karakter ampersand (&), maka yang menjadi pokok disini adalah alamat dalam memory, bukan isi variable Misalkan andy diletakkan pada alamat 1776 kemudian dituliskan instruksi sbb : andy = 25; fred = andy; ted = &andy; Maka hasilnya : Operator Reference (*) Dengan menggunakan pointer, kita dapat mengakses nilai yang tersimpan secara langsung dengan memberikan awalan operator asterisk (*) pada identifier pointer, yang berarti "value pointed by" Contoh: beth = *ted; (dapat dikatakan:"beth sama dengan nilai yang ditunjuk oleh ted") beth = 25, karena ted dialamat 1776, dan nilai yang berada pada alamat 1776 adalah 25 AP3/KD-045211/TI/Ayuliana,ST/2009 8

Ekspresi dibawah ini semuanya benar, perhatikan : andy == 25 &andy == 1776 ted == 1776 *ted == 25 Ekspresi pertama merupakan assignation bahwa andy=25; Kedua, menggunakan operator alamat (address/derefence operator (&)), sehingga akan mengembalikan alamat dari variabel andy Ketiga bernilai benar karena assignation untuk ted adalah ted = &andy; Keempat menggunakan reference operator (*) yang berarti nilai yang ada pada alamat yang ditunjuk oleh ted, yaitu 25 Maka ekspresi dibawah ini pun akan bernilai benar : *ted == andy Contoh: #include <stdioh> int main (){ int value1 = 5, value2 = 15; int * mypointer; value1==10 / value2==20 mypointer = &value1; *mypointer = 10; mypointer = &value2; *mypointer = 20; printf ( value1== %d ", value1); printf ( \Nvalue2== %d, value2); return 0; Deklarasi Pointer Variabel pointer dideklarasikan dengan nama variabelnya ditulis dengan diawali karakter asterik Bentuk umum : Tipe-data *nama-variabel-pointer; Variabel pointer yang dideklarasikan dapat juga langsung diberikan nilai awal Variabel pointer harus dideklarasikan dengan tipe yang sesuai dengan tipe data di memori yang ditunjuknya Misalnya data yang ada dimemori bertipe float(4 byte) dan variabel pointer yang menunjukkan kealamat ini adalah bertipe int(2 byte), maka hanya 2 byte pertama saja yang akan diambil dengan hasil yang tidak sesuai dengan yang diharapkan AP3/KD-045211/TI/Ayuliana,ST/2009 9

Array dan Pointer Identifier suatu array equivalen dengan alamat dari elemen pertama, pointer equivalen dengan alamat elemen pertama yang ditunjuk Perhatikan deklarasi berikut : int numbers [20]; int * p; maka deklarasi dibawah ini juga benar : p = numbers; p dan numbers equivalen, dan memiliki sifat (properties) yang sama Perbedaannya, user dapat menentukan nilai lain untuk pointer p dimana numbers akan selalu menunjuk nilai yang sama seperti yang telah didefinisikan p, merupakan variable pointer, numbers adalah constant pointer Karena itu walaupun instruksi diatas benar, tetapi tidak untuk instruksi dibawah ini : numbers = p; karena numbers adalah array (constant pointer), dan tidak ada nilai yang dapat diberikan untuk identifier konstant (constant identifiers) Contoh: #include <stdioh> 10, 20, 30, 40, 50, int main (){ int numbers[5]; int * p; p = numbers; *p = 10; p++; *p = 20; p = &numbers[2]; *p = 30; p = numbers + 3; *p = 40; p = numbers; *(p+4) = 50; for (int n=0; n<5; n++) printf ( %d,, numbers[n]); return 0; AP3/KD-045211/TI/Ayuliana,ST/2009 10