Algoritme dan Pemrograman

Slides:



Advertisements
Presentasi serupa
PENGOLAHAN DATA # Tipe Data Variabel Konstanta
Advertisements

Dasar Pemrograman Komputer [TKL-4002] 2010
Operator Bahasa C++, Manipulasi String
OPERATOR Teknik Informatika Universitas Muhammadiyah Malang 2012 Pemrogramman Terstruktur.
Algoritma (Struktur, Tipe Data, Input/Output)
Notasi Algoritma.
Bahasa Pemrograman C++
Teknik Elektro – UIN SGD BANDUNG
Pertemuan Operand dan Operator
TIPE DATA, VARIABEL, DAN OPERATOR
Pertemuan 6 Operator & prioritas operator .:: Erna Sri Hartatik ::.
Algoritme dan Pemrograman
Pengenalan Operator.
ALGORITMA PEMROGRAMAN 2A
PROGRAM STUDI SISTEM INFORMASI UNIVERSITAS KOMPUTER INDONESIA
Elemen Dasar Dalam C++.
Statement Control (if dan switch)
DASAR PEMROGRAMAN C Oleh : sgo.
Oleh Ahmad Ramadhani, S.Kom
Operator C++ Pertemuan 3.
Elemen Dasar C Identifier :
Dasar-Dasar Pemrograman
Tipe, Nama, dan Nilai Anifuddin azis.
PROGRAM STUDI SISTEM INFORMASI UNIVERSITAS KOMPUTER INDONESIA
Algoritme dan Pemrograman
Teknik Pemrograman oleh: Yohanes Sugiarto.
Algoritme dan Pemrograman
Algoritme dan Pemrograman
Pertemuan Operasi Store - Compute
Pertemuan 1 DATA & STRUKTUR DATA.
Pseudocode – Tipe Data, Variabel, dan Operator
Pengenalan dan Struktur Java (Operator dan Input)
Operator dan Ekspresi TEE 2103 Algoritma dan Pemrograman
DASAR PEMROGRAMAN JAVA
Remainder Senin depan mulai UTS Praktikum
Latihan #0 Dengan menggunakan pernyataan looping WHILE dan jumlah instruksi sesedikit mungkin, tuliskan cuplikan program (bukan program lengkap, hanya.
As’ad Djamalilleil Ekspresi As’ad Djamalilleil
C++: OPERATOR Yenni Astuti, S.T., M.Eng.
As’ad Djamalilleil Ekspresi dan Operator As’ad Djamalilleil
Algoritme dan Pemrograman
As’ad Djamalilleil Elemen Dasar Java (2) As’ad Djamalilleil
Operator dan Operasi Input Output pada C++ Pertemuan 11
Tipe Data, Nama dan Nilai
Algoritme dan Struktur Data
Operator By Harifuddin,ST,MT..
PERBEDAAN C DAN C++ Meriska Defriani, S
VARIABEL DAN TIPE DATA Erizal, S.Si, M.Kom Sistem Informasi
Pemrograman Terstruktur
Minggu ke-5 Imam Fahrur Rozi
Pemrograman Terstruktur
Algoritme dan Pemrograman
Minggu ke-6 Imam Fahrur Rozi
SELEKSI ALGORITMA & STRUKTUR DATA I PROGRAM STUDI SISTEM INFORMASI
STRUKTUR DATA PERTEMUAN III.
Algoritma dan Pemrograman
Algoritme dan Pemrograman
PROGRAM STUDI SISTEM INFORMASI UNIVERSITAS KOMPUTER INDONESIA
Algoritme dan Pemrograman
Biansa Maulana Angga Surya Prayitna Koermalla Syafei Irma Rosdalina Rizki Mulia Bayu Prayogo.
Pertemuan Pertama Data dan Struktur Data.
PHP.
Konsep Pemrograman 4.
Pemrograman Terstruktur
Operator.
ALGORITMA & DASAR PEMROGRAMAN
Algoritma dan Stuktur Data
PENGOLAHAN DATA # Tipe Data Variabel Konstanta
Sekolah Tinggi Manajemen Informatika Komputer Bani Saleh
Nested if 164.
Dasar Pemrograman Pertemuan 6 Operator & prioritas operator.:: Erna Sri Hartatik ::.
Transcript presentasi:

Algoritme dan Pemrograman Kuliah #4 Ekspresi Operator ILKOM IPB

DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR Ekspresi dan Operator Contoh ekspresi: a+b, a*b, -x , 5, a<b, a==b, dsb. Ekspresi dapat berupa operand (misalnya x, 5, …), dapat pula terdiri atas operand dan operator (misalnya –x, a+5, …). Dua jenis operator berdasarkan operand: Unary (satu operand), misal: –a Binary (dua operand), misal: a+b Setiap ekspresi mempunyai nilai operator a + b operand DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR

Jenis Operator C Aritmatika Logika Penugasan Increment, decrement If DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR

Operator Aritmatika Operasi Operator Ekspresi Aljabar Ekspresi C Penjumlahan + f + 7 Pengurangan - p - c Perkalian * bm b * m Pembagian / x : y x / y Modulo % r mod s r % s DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR

Operator LOGIKA Hasil ekspresi logika: Aljabar C Contoh Arti = == TRUE, int bernilai tidak NOL (0) FALSE, int bernilai NOL Aljabar C Contoh Arti = == (x == y) x sama dengan y ?  != (x != y) x tidak sama dengan y ? > (x > y) x lebih besar dari y ? < (x < y) x lebih kecil dari y ?  >= (x >= y) x lebih besar or samadengan y ?  <= (x <= y) x lebih kecil or samadengan y ?  && ((x>0) && (x<3)) x > 0 dan x < 3  || ((x<0) || (x>3)) x < 0 atau x > 3 ~ ! ! (x < 0) x tidak lebih kecil dari 0 DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR

Contoh Penggunaan Operator LOGIKA

Operator Penugasan Assignment operator Tanda = Ada dua bagian yang dipisahkan = L-Value : alamat lokasi memori tempat nilai disimpan R-Value : nilai yang disimpan Contoh: a = 5; b = a = 10; c = c + 5; DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR

Compound Assignment Operator Menggabungkan operator penugasan dengan operator aritmatika. Contoh: c = c + 1 dapat ditulis  c += 1 x = x * 2 dapat ditulis  x *= 2 Operator yang dapat menggunakan compound adalah +, -, *, /, dan % DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR

Compound Assignment Operator Contoh Penggunaan Compound Assignment Operator Operator Arti Contoh += Penjumlahan Bilangan +=2  Bilangan = Bilangan+2 -= Pengurangan Nilai -=10  Nilai = Nilai - 10 *= Perkalian Angka *= 3  Angka = Angka * 3 /= Pembagian Jumlah /= 5  Jumlah = Jumlah/5 %= Sisa hasil bagi Sisa %= 2  Sisa = Sisa % 2

Increment & Decrement Increment : ++ Decrement : -- Ada dua tipe: Prefix, misalnya ++c, --d Nilai ekspresi adalah nilai setelah dilakukan operasi increment/decrement Postfix, misalnya c++, d— Nilai ekspresi adalah nilai sebelum dilakukan operasi increment/decrement Contoh (misal nilai awal a=5, b=8) Nilai a++ adalah 5, tetapi nilai a setelah itu adalah 6 Nilai ++b adalah 9, dan nilai b setelah itu adalah 9 DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR

Operator if Sintaks: ( kondisi ? eks1 : eks2 ) Artinya jika kondisi bernilai benar (true) maka ekspresi tersebut bernilai eks1. Selainnya, bernilai eks2. Contoh: n1 += ( (nilai < 10) ? 1 : 0 ) setara dengan: if (nilai<10) n1+=1; else n1+=0; DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR

Precedence dan Associativity Menentukan urutan operasi dari operator- operator dalam ekspresi majemuk. Operator dengan tingkat precedence lebih tinggi akan diproses lebih dahulu. ASSOCIATIVITY Menentukan arah evaluasi bila ada dua atau lebih operator dengan tingkat precedence yang sama. Dilambangkan dengan LR atau RL. DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR

Operator Precedence Chart (http://www.swansontec.com/sopc.html) Operator Type Operator Associativity Primary Expression Operators () [] . -> expr++ expr-- left-to-right Unary Operators * & + - ! ~ ++expr --expr (typecast) sizeof() right-to-left Binary Operators * / % + - >> << < > <= >= == != & ^ | && || Ternary Operator ?: Assignment Operators = += -= *= /= %= >>= <<= &= ^= |= Comma ,

Contoh Precedence dan Associativity 1

Contoh Precedence dan Associativity 2

Kasus #1 Deskripsi: Air bersih LAYAK diminum jika memenuhi dua syarat, yaitu kadar besi kurang dari p, dan kadar bakteri coli kurang dari q. Jika tidak memenuhi kedua syarat tersebut, air dikatakan TIDAK LAYAK untuk diminum. Implementasi dalam program: if ((besi>p) && (coli>q)) printf("TIDAK LAYAK"); else printf("LAYAK"); BENARKAH ??

Kasus #2 #include <stdio.h> main() { int n; scanf("%d", &n); if (n=0) printf("NOL"); else printf("TIDAK NOL"); return 0; } Apa outputnya jika diberikan input data 0? Apa outputnya jika diberikan input data 5? Apa yang dapat disimpulkan dari kasus ini? DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR

Latihan Soal #1 Apa output program berikut? #include <stdio.h> main() { int a = 5; printf("\n%d", a += 3); printf("\n%d", a -= 3); printf("\n%d", a *= 3); printf("\n%d", a /= 3); printf("\n%d", a %= 3); printf("\n%d", a); printf("\n%d", ++a); printf("\n%d", a); printf("\n%d", a++); printf("\n%d", a); printf("\n%d", --a); printf("\n%d", a); printf("\n%d", a--); printf("\n%d", a); return 0; } //13 //10 //30 //1 //2 //3 DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR

Latihan Soal #2 Mana di antara penamaan variabel berikut yang benar? Mengapa yang lain salah? a. 3n+1 b. n+1 c. 3n1 d. 3n_1 e. n_31 DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR

Latihan Soal #3 Variabel gaji memiliki kisaran nilai 1,000,000 sampai dengan 2,000,000 rupiah dengan satuan terkecil adalah satu rupiah, variabel bulan memiliki kisaran nilai 1-12 yang menunjukkan nomor bulan Januari hingga Desember, dan variabel potongan adalah nilai persen dari gaji. Cara membuat deklarasi yang paling tepat ketiga variabel tersebut adalah ..... a. int gaji, bulan, potongan; b. long int bulan, gaji, potongan; c. int bulan; long int gaji; float potongan; d. int bulan; float potongan, gaji; e. double gaji, potongan; int bulan; DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR

Latihan Soal #4 Di antara deklarasi variabel berikut mana yang SALAH? Mengapa? a. int a, d. int a=b=1; b; float c=0.5; b. int a=0; e. int b,a=0; int b=0; float c=0.5; c. int a=0; int b; float c; DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR

Latihan Soal #5 Misalkan terdapat tiga variabel bertipe int, yaitu a=-15, b=-10, c=-5. Berapa nilai ekspresi a<b<c ? True/False ? Berapa nilai (++b+c--) ? DEPARTEMEN ILMU KOMPUTER INSTITUT PERTANIAN BOGOR

Latihan#6 Keluarga Pak Mayor dan Bu Minor baru selesai melangsungkan pernikahan anaknya yang pertama. Setiap tamu umumnya memberi hadiah berupa amplop yang berisi uang. Namun, diantara yang hadir, ternyata terdapat beberapa tamu yang tak diundang, yang memasukkan amplop kosong ke dalam kotak yang disediakan. Keesokan harinya, keluarga Pak Mayor dan Bu Minor menghitung setiap amplop yang diterimanya dari setiap tamu yang datang. Untuk mempermudah, Pak Mayor bertugas membuka amplop, dan Bu Minor yang mencatat nilai uangnya di sebuah buku. Jika Pak Mayor menyebut angka 50.000, maka Bu Minor mencatat nilai 50 di buku (angka ribuan tidak dituliskan untuk mempercepat pencatatan). Tetapi, jika amplop kosong, maka Bu Minor mencatat dengan nilai -1 (minus satu). Bantulah keluarga Pak Mayor dan Bu Minor untuk menghitung berapa banyak amplop yang kosong dan berapa total nilai uang yang diterimanya dengan membuat sebuah program komputer.

Input dan Output Masukan Masukan berupa sebuah bilangan bulat n (1  n  500) yang menunjukkan banyaknya amplop yang diterima, dan n baris berikutnya adalah nilai-nilai yang dicatat oleh Bu Minor. Nilai uang di setiap amplop tidak lebih dari Rp 100.000,- dan selalu kelipatan dari 1000. Keluaran Keluaran berupa dua bilangan x dan y, dimana x adalah banyaknya amplop kosong, dan y adalah total nilai uang yang ada, yang masing-masing dipisahkan oleh satu spasi.

Algoritme amplop procedure Amplop (n, x) { read(n); jum0=0; jum1=0; for c=(1, 2, …., n) { read(x); if (x=-1) jum0 = jum0 + 1; else jum1 = jum1 + x; } print (jum0, jum1*1000);

Latihan 7