algoritma dasar bagian3

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 j enis_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

Upload: gunz-teritory-omz

Post on 15-Jul-2015

64 views

Category:

Documents


0 download

DESCRIPTION

type data, operator, input output.

TRANSCRIPT

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();}

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