Download - Algoritma Dasar bagian3
5/13/2018 Algoritma Dasar bagian3 - slidepdf.com
http://slidepdf.com/reader/full/algoritma-dasar-bagian3 1/13
BAB III TIPE DATA BENTUKAN DAN OPERATOR
III.1 Tipe Data Bentukan
Tipe data bentukan adalah tipe data yang dibuat sendiri sesuai kebutuhan dalam program yang
akan kita buat (disebut juga user defined types). Adapun yang termasuk ke dalam tipe bentukan
adalah:
1) Struktur
Struktur adalah tipe data bentukan yang menyimpan lebih dari satu variabel bertipe sama
maupun berbeda. Untuk mumbuat tipe data struktur dalam C, menggunakan kata kunci
struct . Bentuk umum pendeklarasian tipe:
2) Enumerasi
Tipe Enumerasi adalah tipe data yang nilainya terbatas pada nilao-nilai yang telah
didefinisikan saja. Tipe ini digunakan untuk membentuk tipe data yang nilainya bersifat
pasti. Misalnya nama hari, jenis kelamin dan seterusnya.
Contoh: enum jenis_kelami(pria, wanita)
enum hari (minggu, senin, selasa, rabu, kamis, jumat, sabtu)
Struct nama struktur {Tipe_data variabel1;Tipe_data variabel2;
...}
Bentuk Umum :
enum nama_tipe (nilai1, nilai2, nilai3, ...)
PERTEMUAN : 4
5/13/2018 Algoritma Dasar bagian3 - slidepdf.com
http://slidepdf.com/reader/full/algoritma-dasar-bagian3 2/13
Contoh Program 1
Contoh Algoritma 1:
//Membuat tipe enum dengan namahari
#include <stdio.h>
main() {
enum Namahari{Minggu, Senin, Selasa, Rabu, Kamis, Jumat,Sabtu};
printf("%d, ", Minggu); printf("%d, ", Senin);
printf("%d, ", Selasa); printf("%d, ", Rabu);
printf("%d, ", Kamis); printf("%d, ", Jumat);
printf("%d, ", Sabtu);
Algoritma Menampilkan nama siswa
{ M embuat tipe struktur dengan nama siswa}
Deklarasi
Type Siswa <NIS[8], Nama[25], Alamat[20], Kota[15] : string> :A : Siswa
DeskripsiRead(A.NIS)Read(A.Nama)
Read(A.Alamat)
Read(A.Kota)Write(A.NIS, ¶ ± ¶, A.Nama, ¶ ±¶, A.Alamat, ¶ ±¶,A.Kota);}
5/13/2018 Algoritma Dasar bagian3 - slidepdf.com
http://slidepdf.com/reader/full/algoritma-dasar-bagian3 3/13
III.2 Operator
Operator digunakan untuk menyatakan suatu perhitungan/operasi. Operator dapat terbagi atas:
Operator penugasan, Operator aritmatika, Operator hubungan (perbandingan), Operator logika,
Operator bitwise dan operator unary.
y Operator Penugasan
Operator Penugasan (A ssignment operator) dalam bahasa C berupa tanda sama dengan
(³=´). Contoh operator penugasan: nilai = 50; z = x * y;. Artinya: variabel ³nilai´ diisi oleh 50
dan variabel ³z´ diisi oleh hasil perkalian x dan y
y Operator Aritmatika
Dalam bahasa C disediakan lima operator aritmatika, yaitu:y * : untuk perkalian
y / : untuk pembagian
y % : untuk sisa pembagian (modulus)
y + : untuk pertambahan
y - : untuk pengurangan
Catatan: operator % digunakan untuk mencari sisa pembagian antara dua bilangan,misalnya : 9 % 2 = 1.
Contoh Program 2
//program penggunaan operator aritmetika:
#include "stdio.h"#include "conio.h"
main(){
printf("Nilai 9 + 4 = %i\n", 9 + 4); printf("Nilai 9 - 4 = %i\n", 9 - 4);
printf("Nilai 9 * 4 = %i\n", 9 * 4); printf("Nilai 9 / 4 = %i\n", 9 / 4);
printf("Nilai 9 mod 4 = %i", 9 % 4); /* mencetak hasil 9 % 4 */}
5/13/2018 Algoritma Dasar bagian3 - slidepdf.com
http://slidepdf.com/reader/full/algoritma-dasar-bagian3 4/13
y Operator Hubungan (Perbandingan)
Operator Hubungan digunakan untuk membandingkan hubungan antara dua buah operand
(sebuah nilai atau variabel). Operator-operator hubungan dalam bahasa C adalah sebagai
berikut:
Tabel 3.1 Operator-operator Perbandinngan
Operator Arti Contoh
< Kurang dari x < y Apakah x kurang dari y
<= Kurang dari sama
dengan
x <= y Apakah x kurang dari sama
dengan y
> Lebih dari x > y Apakah x lebih dari y
>= Lebih dari sama
dengan
x >= y Apakah x lebih dari sama dengan
y = = Sama dengan x = = y Apakah x sama dengan y
!= Tidak sama dengan x != y Apakah x tidak sama dengan y
Contoh Program 3
y Operator Logika
Jika operator hubungan membandingkan hubungan antara dua buah operand, maka
operator logika digunakan untuk membandingkan logika hasil dari operator-operator
hubungan. Operator logika ada tiga macam, yaitu :
a) && : Logika AND (dan)
b) || : Logika OR (atau)
c) ! : Logika NOT (ingkaran)
//program penggunaan operator hubungan (perbandingan):#include "stdio.h"
#include "conio.h"
void main(){printf("Nilai 10 < 3 = %i\n", 10 < 3); /* mencetak hasil 10 < 3 */
printf("Nilai 3 <= 3 = %i\n", 3 <= 3); /* mencetak hasil 3 <= 3 */ printf("Nilai 10 > 3 = %i\n", 10 > 3); /* mencetak hasil 10 > 3 */ printf("Nilai 3 >= 3 = %i\n", 3 >= 3); /* mencetak hasil 3 >= 3 */
printf("Nilai 10 == 3 = %i\n", 10 == 3); /* mencetak hasil 10 == 3 */
printf("Nilai 3 != 3 = %i", 3 != 3); /* mencetak hasil 3 != 3 */
}
5/13/2018 Algoritma Dasar bagian3 - slidepdf.com
http://slidepdf.com/reader/full/algoritma-dasar-bagian3 5/13
y Operator Bitwise
Operator bitwise digunakan untuk memanipulasi bit-bit dari nilai data yang ada di memori.
Operator bitwise dalam bahasa C :
<< : Pergeseran bit ke kiri
>> : Pergeseran bit ke kanan
& : Bitwise AND
^ : Bitwise XOR (exclusive OR)
| : Bitwise OR
~ : Bitwise NOT
y Operator Unary
Operator Unary merupakan operator yang hanya membutuhkan satu operand saja. Dalam bahasa C terdapat beberapa operator unary yang sering digunakan, yaitu :
Tabel 3.2 Beberapa Operator Unary
Operator Arti/Maksud Letak Contoh Equivalen
- Unary minus Sebelum operator A+-B*C A + (-B)*C
++ Peningkatan dengan
penambahan nilai 1
Sebelum dan
sesudah
A++ A = A + 1
-- Penurunan dengan
pengurangan nilai 1
Sebelum dan
sesudah
A-- A = A ± 1
Sizeof Ukuran dari operand
dalam byte
Sebelum Sizeof(l) -
Pada operator peningkatan µ++¶ dan penurunan µ--' jika diletakkan sebelum atau sesudah
operand akan terdapat perbedaan. Perhatikan contoh berikut:
5/13/2018 Algoritma Dasar bagian3 - slidepdf.com
http://slidepdf.com/reader/full/algoritma-dasar-bagian3 6/13
Contoh Program 4
III.3 Input dan Output
III.3.1 Memasukkan Data
Dalam bahasa C proses pemasukkan data bisa menggunakan beberapa fungsi yang sudah
tersedia di dalam program bahasa C (fungsi pustaka). Beberapa fungsi pustaka yang bisa
digunakan adalah:
1. scanf()
Fungsi ini digunakan untuk menginput data berupa data numerik, karakter dan string
secara terformat. Hal-hal yang perlu diperhatikan dalam pemakaian fungsi scanf() :
a. Fungsi scanf() memakai penentu format
b. Fungsi scanf() memberi pergantian baris secara otomatis
c. Fungsi scanf() tidak memerlukan penentu lebar field
d. Variabelnya harus menggunakan operator alamat &
/* Perbedaan operator peningkatan ++ yang diletakkan di depan dan dibelakang operand */#include <stdio.h>
#include <conio.h>
void main()
{ int X, Nilai;X = 5; Y = 10;
Nilai = ++X; /* berarti X = X + 1; Nilai = X; */
printf("Nilai = %d, X = %d\n", Nilai, X);nilai = x++; /* berarti Nilai = X; Nilai = X + 1; */
printf("Nilai = %d, X = %d\n", Nilai, X);nilai = --Y; /* berarti Y = Y - 1; Nilai = Y; */
printf("Nilai = %d, Y = %d\n", Nilai, Y);
nilai = Y--; /* berarti Nilai = Y; Y = Y - 1; */
printf("Nilai = %d, Y = %d\n", Nilai, Y);}
5/13/2018 Algoritma Dasar bagian3 - slidepdf.com
http://slidepdf.com/reader/full/algoritma-dasar-bagian3 7/13
K ode penentu f ormat :
%c : Membaca sebuah karakter
%s : Membaca sebuah string
%i, %d : Membaca sebuah
bilangan bulat (integer)
%f, %e : Membaca sebuah
bilangan pecahan (real)
%o : membaca sebuah bilangan
octal
%x : Membaca sebuah bilangan
heksadesimal
%u Membaca sebuah bilangan
tak bertanda
2. gets()
Fungsi gets() digunakan untuk memasukkan data bertipe karakter dan tidak dapat
digunakan untuk memasukkan data numerik.
3. getchar()
Fungsi getchar() digunakan untuk membaca data yang bertipe karakter
4. getch() dan getche()
Fungsi getch() dan getche() digunakan untuk membaca data karakter.
III.3.2 Menampilkan Data
1. Menampilkan Data ke Layar Monitor
Menggunakan fungsi printf() digunakan untuk menampilkan semua jenis data
(numerik dan karakter). Fungsi puts() digunakan untuk menampilkan data string dan
secara otomatis akan diakhiri dengan perpindahan baris. Fungsi putchar() digunakan
untuk menampilkan sebuah karakter. Mengatur tampilan bilangan pecahan (float).
Bentuk umum : printf(³%m.nf´, argument);
K eterangan:
m : menyatakan panjang range
n : menyatakan jumlah digit di belakang koma.
argument : nilai atau variabel yang akan ditampilkan.
Contoh: printf(³%5.2f´, nilai); artinya variabel nilai akan ditampilkan sebanyak 5 digit
dengan 2 digit di belakang koma.
5/13/2018 Algoritma Dasar bagian3 - slidepdf.com
http://slidepdf.com/reader/full/algoritma-dasar-bagian3 8/13
2. Menampilkan data ke printer
Untuk menampilkan data ke printer dapat menggunakan fungsi fprintf(), fputs() dan
fputc().
o Fungsi f printf(): digunakan untuk mencetak semua jenis tipe data ke printer dan
secara otomatis memberikan efek perpindahan baris.
o Fungsi f puts(): digunakan untuk mencetak tipe data string ke printer
o Fungsi f putc(): digunakan untuk mencetak tipe data karakter ke printer
3. Mengenal K arakter Escape
Karakter escape adalah sebuah karakter yang ditulis dengan awalan tanda \ tabel 3.3
memperlihatkan karakter escape pada C dan C++.
Tabel 3.2 Daftar Karakter escape
K arakter K eterangan
\0 Karakter NULL (tulisannya berupa \ dan angka nol)
\a Karakter bel
\b Karakter backspace
\f Formfeed
\n Linefeed(disebut juga newline atau pindah baris)
\r Carriage return
\t Tab horizontal
\v Tab Vertikal
\\ Karakter \
\¶ Karakter petik tunggal
\´ Karaker petik ganda
\? Karakter tanda Tanya
\DDD Menyatakan sebuah karakter yang nilai ASCIInya sama dengan nilai oktal
DDD
\xHH Menyatakan sebuah karakter yang nilai ASCIInya sama dengan nilai
heksadesimal HH
5/13/2018 Algoritma Dasar bagian3 - slidepdf.com
http://slidepdf.com/reader/full/algoritma-dasar-bagian3 9/13
III.4 Fungsi Operasi String
Menggunakan fungsi string pada C harus mencantumkan header file ³string.h´ pada header file
program. Terdapat beberapa fungsi operasi string diantaranya adalah
a) strcpy()
y Berfungsi untuk menyalin suatu string asal ke variable string tujuan.
y Bentuk umum : strcpy(var_tujuan, string_asal);
b) strlen()
y berfungsi untuk memperoleh jumlah karakter dari suatu string.
y Bentuk umum : strlen(string);
c) strcat()
y Digunakan untuk menambahkan string sumber ke bagian akhir dari string tujuan.
y Bentuk umum : strcat(tujuan, sumber);
d) strupr()
y Digunakan untuk mengubah setiap huruf dari suatu string menjadi huruf capital.
y Bentuk umum : strupr(string);
e) strlwr()
y Digunakan untuk mengubah setiap huruf dari suatu string menjadi huruf kecil semua.
y Bentuk umum : strlwr(string);
f) strcmp()
y Digunakan untuk membandingkan dua buah string.
y Hasil dari fungsi ini bertipe integer dengan nilai :
Negative, jika string pertama kurang dari string kedua.
Nol, jika string pertama sama dengan string kedua
Positif, jika string pertama lebih besar dari string kedua.
y Bentuk umum : strcmp(string1, string2);
5/13/2018 Algoritma Dasar bagian3 - slidepdf.com
http://slidepdf.com/reader/full/algoritma-dasar-bagian3 10/13
III.5 Fungsi Operasi KarakterMenggunakan fungsi karakter pada C harus mencantumkan header file ³ctype.h´ pada header
file program. Terdapat beberapa fungsi operasi karakter diantaranya adalah
a) islower()
y Fungsi akan menghasilkan nilai benar (bukan nol) jika karakter merupakan huruf kecil.
y Bentuk umum : islower(char);
b) isupper()
y Fungsi akan menghasilkan nilai benar (bukan nol) jika karakter merupakan huruf kapital.
y Bentuk umum : isupper(char);
c) isdigit()
y Fungsi akan menghasilkan nilai benar (bukan nol) jika karakter merupakan sebuah digit.
y Bentuk umum : isdigit(char);
d) tolower()
y Fungsi akan mengubah huruf capital menjadi huruf kecil.
y Bentuk umum : tolower(char);
e) toupper()
y Fungsi akan mengubah huruf kecil menjadi huruf kapital.
y Bentuk umum : toupper(char);
III.6 Fungsi operasiMatematika
fungsi matematik pada C terdapat header file ³math.h´ dan ³stdlib.h´. Terdapat beberapa fungsi
operasi matematika diantaranya adalah
a) sqrt()
y Digunakan untuk menghitung akar dari sebuah bilangan.
y Bentuk umum : sqrt(bilangan);
b) pow()
y Digunakan untuk menghitung pemangkatan suatu bilangan.
y Bentuk umum : pow(bilangan, pangkat);
5/13/2018 Algoritma Dasar bagian3 - slidepdf.com
http://slidepdf.com/reader/full/algoritma-dasar-bagian3 11/13
c) sin(), cos(), tan()
y Masing-masing digunakan untuk menghitung nilai sinus, cosinus dan tangens dari suatu
sudut.
y Bentuk umum :
sin(sudut);
cos(sudut);
tan(sudut);
d) atof()
y Digunakan untuk mengkonversi nilai string menjadi bilangan bertipe double.
y Bentuk umum : atof(char x);
e) atoi()
y Digunakan untuk mengkonversi nilai string menjadi bilangan bertipe integer.
y Bentuk umum : atoi(char x);
f) div()
y Digunakan untuk menghitung hasil pembagian dan sisa pembagian.
y Bentuk umum : div_t div(int x, int y)
y Strukturnya :
typedef struct
{ int qout; // hasil pembagian
int rem // sisa pembagian
} div_t;
g) max()
y Digunakan untuk menentukan nilai maksimal dari dua buah bilangan.
y Bentuk umum : max(bilangan1, bilangan2);
h) min()
y Digunakan untuk menentukan bilangan terkecil dari dua buah bilangan.
y Bentuk umum : min(bilangan1, bilangan2);
5/13/2018 Algoritma Dasar bagian3 - slidepdf.com
http://slidepdf.com/reader/full/algoritma-dasar-bagian3 12/13
III.7 Soal Latihan
A. Tuliskan kembali program dibawah ini, compile, dan tuliskan semua pernyataan
error/kesalahaan yang ada dan tuliskan bagaimana solusinya
#include ³stdio.h´
#include ³conio.h´
#include ³string.h´
void main()
{ char satu[30] = ³Jurusan Teknik Informatika´;
char dua[30] = ³Politeknik Pos Indonesia´;
clrscr();
strcat(satu, dua); printf(³Hasil penggabungannya : %s\n´, satu);
printf(³Jika diubah menjadi huruf kapital semua :\n´);
printf(³%s´, str(satu));
printf(³Jika diubah menjadi huruf kecil semua :\n´);
printf(³%´, strlwr(satu));
getch();
}
#include ³stdio.h´
#include ³conio.h´#include ³stdlib.h´
void main(){ int x, y;
clrscr(); printf(³Menentukan bilangan terbesar \n´);
printf(³X = ³); scanf(³%i´,&
x); printf(³Y = ³); scanf(³%i´, &y);
printf(³Z = ³); scanf(³%´, &z); printf(³\nBilangan terbesar : %i´, max(max(x, y), z))
getch();}
1
2
5/13/2018 Algoritma Dasar bagian3 - slidepdf.com
http://slidepdf.com/reader/full/algoritma-dasar-bagian3 13/13
B. Buatlah algoritma untuk kasus dibawah ini
1. Menghitung jumlah dua bilangan yang dimasukkan oleh user
2. Menghitung jumlah karakter pada teks yang dimasukkan oleh user
3. Menggabungkan dua teks yang dimasukkan oleh user
4. Menampilkan data pribadi berupa nama, alamat, jenis kelamin, no telepon dengan
menggunakan tipe data bentukan
5. Menentukan bilangan terkecil dari dua bilangan yang dimasukkan oleh user
C. Buatlah Program untuk algoritma yang telah anda buat untuk kasus diatas