Tipe Data Dasar & Statemen Kontrol

62
PRAKTIKUM KOMSEP PEMROGRAMAN KOMPUTER MODUL II TIPE DATA DASAR & STATEMEN KONTROL Oleh KELOMPOK XVIII Putu Rusdi Ariawan (0804405050) I Gusti Agung Gede Mega Perbawa (0804405049) LABORATORIUM KOMPUTER JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS UDAYANA Desember 2008

description

Tipe Data Dasar & Statemen Kontrol

Transcript of Tipe Data Dasar & Statemen Kontrol

Page 1: Tipe Data Dasar & Statemen Kontrol

PRAKTIKUM KOMSEP PEMROGRAMAN KOMPUTER

MODUL II

TIPE DATA DASAR & STATEMEN KONTROL

Oleh

KELOMPOK XVIII

Putu Rusdi Ariawan (0804405050)

I Gusti Agung Gede Mega Perbawa (0804405049)

LABORATORIUM KOMPUTER

JURUSAN TEKNIK ELEKTRO

FAKULTAS TEKNIK UNIVERSITAS UDAYANA

Desember 2008

Page 2: Tipe Data Dasar & Statemen Kontrol

TIPE DATA DASAR & STATEMEN KONTROL

PUTU RUSDI ARIAWAN

BAB IV

TIPE DATA DASAR DAN STATEMENT KONTROL

4.1 Tujuan

1. Memahami dasar-dasar pemrograman Pascal atau C++.

2. Memahami penggunaan statement kontrol khususnya if...., if...else, switch

atau case....of.

3. Memahami pemilihan tipe data yang digunakan secara efisien.

4. Memahami manipulasi string.

5. Memahami dan bisa membuat program yang berbentuk suatu fungsi.

6. Memahami dan bisa menggunakan passing parameter dalam fungsi ndan

prosedur.

4.2 Tinjauan Pustaka

4.2.1 Tipe Data

Tipe data dari variabel digunakan untuk mengklasifikasikan informasi

atau data berdasarkan jangkauan nilai dan memori yang dibutuhkan program. Data

yang dipergunakan dalam bahasa pemrograman memiliki ukuran dan tipe yang

berbeda. Setiap tipe data membutuhkan jumlah memori yang berbeda juga untuk

menyimpannya. Untuk menentukan jumlah memori yang akan diproses program

harus mencamtumkan jenis data yang diperlukan.

Tipe data pada Pascal dikelompokkan menjadi bebebrapa bagian

seperti tipe sederhana, tipe integer, tipe bolean, tipe char, tipe terbilang, tipe

subjangkauan, tipe riil, tipe string, tipe terstruktur, tipe larik, tipe rekaman, tipe

himpunan, tipe berkas dan tipe pointer. Dari masing-masing kelompok tipe data

tersebut dapat dibagi lagi menurut batas nilainya .

Dalam bahasa pascal terdapat bermacam-macam tipe data, namun tipe

dasar pada bahasa ini hannya ada 3 jenis yaitu :

Page 3: Tipe Data Dasar & Statemen Kontrol

TIPE DATA DASAR & STATEMEN KONTROL

PUTU RUSDI ARIAWAN

1. Tipe Data Sederhana

2. Tipe Data Terstruktur

3. Tipe Data Pionter

Tipe data dasar yang digunakan dalam pascal dapat dibagi menjadi beberapa

bagian. Berikut adalah skema pembagian tipe data dasar.

Tipe Data

Dasar

Tipe Ordinal

Tipe Real

integer

Boolean

Char

enumerasi

Subrange

Shortint

Longint

Shortint

Integer

Byte

Real

Comp

Extented

Double

Single

Page 4: Tipe Data Dasar & Statemen Kontrol

TIPE DATA DASAR & STATEMEN KONTROL

PUTU RUSDI ARIAWAN

4.2.1.1 Tipe Data Sederhana

Biasanya pemrogram mengartikan tipe data ini adalah berupa sebuah

perubah yang hanya menyimpan nilai data saja.

Tipe data ini dapat diklasifikasikan menjadi:

1. Tipe Ordinal

Karakteristik tipe data ordinal adalah:

a) Nilai dari suatu tipe ordinal merupakan himpunan berurutan(ordered set), dan

setiap nilai mempunyai nilai ordinalitas, yaitu nilai integral. Kecuali tipe

integer, pada tipe data ordinal, nilai pertama mempunyai nilai ordinalitas 0,

berikutnya 1 dan seterusnya. Sedangkan tipe data integer nilai ordinalitasnya

adalah nilai integer itu sendiri. Semua nilai tipe data ordinal, kecuali yang

pertama mempunyai nilai pendahulunya (predesesor) dan semua nilai kecuali

yang terakhir mempunyai nilai yang mengikuti (suksesor).

b) Fungsi standard Ord dapat diterapkan terhadap tipe data ordinal untuk

mengetahui nilai ordinalitasnya.

c) Fungsi standard Pred dapat digunakan untuk mengetahui nilai pendahulunya.

Jika fungsi ini diterapkan pada nilai yang pertama akan menyebabkan

kesalahan.

d) Fungsi standard Succ dapat diterapkan untuk mengetahui nilai yang

mengikutinya. Jika fungsi ini diterapkan pada nilai terakhir akan

menyebabkan kesalahan.

Yang termasuk kategori tipe data ini adalah:

a. Tipe Integer

Tipe integer adalah bilangan bulat atau tipe data yang nilainya tidak

mempunyai titik desimal. Ada 5 tipe data yang termasuk dalam kelompok ini,.

Batas nilai masing – masing tipe tersebut terlihat pada tabel berikut.

Page 5: Tipe Data Dasar & Statemen Kontrol

TIPE DATA DASAR & STATEMEN KONTROL

PUTU RUSDI ARIAWAN

Tabel 4.1

Tipe Batas Nilai Ukuran

Byte 0 ... 255 1 byte

ShortInt -128 ... 127 1 byte

Word 0 … 65535 2 byte

Integer -32768 … 32767 2 byte

LongInt -2147483648 … 2147483647 4 byte

b. Tipe Boolean

Tipe ini merupakan tipe data logika yang berisi dua kemungkinan nilai

yaitu true dan false. TPW memiliki 3 macam jenis, yaitu boolean, wordbool, dan

longbool. Batas nilai masing – masing tipe terlihat dalam tabel berikut.

Tabel 4.2

tipe ukuran

Boolean 1 byte

Wordbool 2 byte

Longbool 3 byte

c. Tipe Char

Tipe data ini menyimpan karakter yang diketikkan dari keyboard,

memiliki 266 macam yang terdapat dalam tabel ASC II. Contoh: „a‟, „ b‟ , „ c‟

yaitu harus diberikan tanda kutip tunggal. Jenis data ini memerlukan alokasi

memori sebesar 1 byte untuk masing – masing data.

d. Tipe Enumerasi

Enumerasi merupakan salah satu tipe yang dapat dibuat sendiri oleh

pemrogram. Tipe ini biasa digunakan pada variable yang nilai kemungkinannya

terbatas (tidak begitu banyak). Nilainya dinyatakan dengan nama – nama

pengenal.

Page 6: Tipe Data Dasar & Statemen Kontrol

TIPE DATA DASAR & STATEMEN KONTROL

PUTU RUSDI ARIAWAN

e. Tipe Subjangkauan

Subjangkauan merupakan suatu tipe yang menyatakan suatu jangkauan

nilai dari suatutipe yang sudah ada. Jangkauan nilai ditentukan oleh nilai terkecil

dan nilai terbesar. Antara nilai terkecil dan nilai terbesar dipisahkan oleh tanda

subjangkauan (…).

2. Tipe Real

Dalam turbo pascal terdapat lima macam tipe real, yaitu: real, single,

double, extended, dam comp. Batas nilai masing – masing tipe terlihat pada tabel

di bawah ini.

Tabel 4. 3

4.2.1.2 Tipe Data Terstruktur

Setiap perubah pada tipe terstruktur bisa menyimpan lebih dari sebuah

nilai data, masing – masing nilai data tersebut disebut sebagai dengan komponen

elemen. Ukuran tipe tersrtuktur dalam turbo pascal maksimum 65520 byte yaitu

sebesar memori segmen data.

Yang temasuk kategori tipe data ini yaitu:

1. Tipe String

Konstanta string didefinisikan menggunakan tanda kutip tunggal diikuti

dengan rangkaian karakter, diikuti lagi dengan tanda kutip tunggal. Panjang

maksimum konstanta string adalah 255 karakter, panjang minimum adalah 0.

Tipe Batas Nilai Ukuran

Real 2,9x10-39

s/d 1,7x1038

6 byte

Single 1,5x10-45

s/d 3,4x1038

4 byte

Double 5,0x10-324

s/d

1,7x10308

8 byte

Extended 1,9x10-4951

s/d

1,1x104932

10 byte

Comp -9,2x1018

s/d 9,2x1018

8 byte

Page 7: Tipe Data Dasar & Statemen Kontrol

TIPE DATA DASAR & STATEMEN KONTROL

PUTU RUSDI ARIAWAN

2. Tipe Larik (Array)

Tipe larik adalah tipe yang mempunyai komponen dalam jumlah tetap

dan setiap komponen mempunyai tipe data yang sama. Parameter ini boleh berupa

sembarang tipe ordinal kecuali longInt dan subjangkauan dari longInt.

3. Tipe Rekaman

Rekaman juga adalah kumpulan data. Perbedaan antara larik dengan

rekaman adalah bahwa dalam larik semua elemennya harus bertipe sama, tetapi

dalam rekaman setiap elemen dapat mempunyai tipe data yang berbeda satu sama

lainnya.

4. Tipe Himpunan

Himpunan adalah kumpulan obyek yang mempunyai tipe data yang sama

dan urutan penulisannya tidak diperhatikan. Turbo pascal dalam membuat

himpunan membatasi jumlah elemen maksimum adalah256 dan nilai ordinal

setiap elemen harus dalam jangkauan 0 sampai 255. Sebab batasan ini adalah nilai

maksimum dari integer dalam suatu byte memori adalah 255, dan tidak dapat

membuat himpunan yang mengandung integer negatif.

4.2.1.3 Tipe Data Pointer

Istilah pointer ini adalah alamat untuk item data. Pointer digunakan

bersamaan dengan dynamic memory allocation. Tipe ini hanya dibatasi dengan

jumlah ketersediaan memori, tidak dengan batas atas yang dibebankan pada waktu

program dicompile

4.2.1.4 Penggunaan tipe data

Penggunaan tipe-tipe data disesuikan dengan kebutuhan dan jenis nilai

variabel sehingga penggunann memori komputer oleh program tersebut dapat

seefisien mungkin. Sebagian besar tipe data adalah integer yang merupakan tipe

data numerik yang mewakili seluruh bilangan. Pada saat dipergunakan dalam

Page 8: Tipe Data Dasar & Statemen Kontrol

TIPE DATA DASAR & STATEMEN KONTROL

PUTU RUSDI ARIAWAN

program maka digunakan deklarasi terlebih dahulu untuk variabel. Berikut

beberapa contoh deklarasi integer:

Kode Program 4.1 Deklrarasi Integer

Untuk mendeklarasikan integer digunakan reserved word integer dan

tuliskan nama variabel yang akan dipakai . Tipe data jenis ini nilainya tidak

memiliki titik desimal dan tanda plus minus dapat mendahului bilangan tersebut.

Tipe data kedua bilangan desimal seperti real, singel, doubel dan

extended. Tidak seperti tipe data integer, jenis data ini dapat memiliki bilangan

fraksional. Bilangan desimal digunakan untuk menyatakan nilai eksak. Oleh

karena itu tipe bilangan ini biasanya digunakan untuk perhitungan-perhitungan

ilmiah atau menghitung keuangan. Selain memiliki ketelitian yang lebih besar

dibandingkan integer tipe data ini juga dapat menyatakan nilai yang lebih besar

atau lebih kecil dengan kata lain jangkauannya lebih lebar. Deklarasi tipe data ini

dengan menggunakan reserved word pada nama variabel. Seperti jika program

menemukan reserved word real, maka akan disediakan ruang memori yang cukup

untuk menampung bilangan dan menandai nama variabel untuk menyatakan

bilangan tersebut.

Kode Program 4.2 Deklrarasi Real

Deklarasi yang pertama adalah bentuk yang paling sederhana, yaitu

deklarasi variabel tunggal tanpa nilai awal. Deklarasi yang kedua menunjukkan

deklarasi untuk dua variabel pada satu baris, dan deklarasi semacam ini kalau

terlalu banya dalam satu baris akan menyebabkan program sulit dipelajari. Bentuk

saldo_tabungan: real ;

principal, interest: real ;

miliage: real ;

bilangan: integer ;

code_bil: integer ;

bil,cd: integer ;

Page 9: Tipe Data Dasar & Statemen Kontrol

TIPE DATA DASAR & STATEMEN KONTROL

PUTU RUSDI ARIAWAN

yang ketiga menunjukkan deklarasi dengan pemberian nilaiawal pada variabel

tersebut.

4.2.2 Statement kontrol

Dalam konsep pemrograman komputer ada berbagai jenis statement

yang digunakan untuk membuat suatu program. Dalam bahasa Pascal salah satu

statement yang sering digunakan adalah statement percabangan yang terdiri dari

statement if…, if…else, dan case.

4.2.2.1 Statement if

Statement if digunakan dalm permasalahan untuk mengbil suatu

keputusan terhadap dua alternatif. Pengambilan keputusan didasarkan oleh suatu

kondisi yang kita evaluasi apakah bernilai True atau False.

a. Statement if ...then

Bentuk ini, statement akan hanya akan dijalankan kalau kondisi

bernilai True. Bagian kondisi berupa ekspresi. Apabila kondisi bernilai salah

maka proses akan tidak mengeksekusi statement. Digunakan untuk

mengindikasikan adanya pemilihan suatu statement. Statement if ...then dalam

bagan alir digambarkan sebagai berikut:

Gambar 4.1 Flow Chart Statement if ...then

Kondisi

Block_statement

True

(Yes)

False

(No)

Page 10: Tipe Data Dasar & Statemen Kontrol

TIPE DATA DASAR & STATEMEN KONTROL

PUTU RUSDI ARIAWAN

Bentuk pernyataan untuk menggunakan statement if...then adalah

sebagai berikut:

Kode Program 4.3 Deklrarasi Statement if...then

b. Statement if…else

Statement if…else digunakan untuk menyatakan adanya pemilihan

dimana jika kondisi benar maka mengerjakan block_statement_1 dan jika kondisi

salah maka mengerjakan block_statement_2. Statement ini dapat digambarkan

dengan flow chart sebagai berikut :

Gambar 4.2 Flow Chart Statement if ...else

Bentuk pernyataan untuk menggunakan statement if...else adalah

sebagai berikut:

Kode Program 4.3 Deklrarasi Statement if...else

Kondisi

Block_statement_1 Block_statement_2

True

(Yes)

False

(No)

IF kondisi THEN

Block_statement

IF kondisi THEN

Block_statement_1

ELSE

Block_statement_2

Page 11: Tipe Data Dasar & Statemen Kontrol

TIPE DATA DASAR & STATEMEN KONTROL

PUTU RUSDI ARIAWAN

Dimana Block_statement_1 hanya akan dijalankan jika kondisi

bernilai True (Yes) dan Block_statement_2 hanya akan dijalankan jika kondisi

bernilai False (No).

4.2.2.2 Statement case…of

Statement case…of digunakan untuk menggambarkan adanya

pemilihan lebih dari satu dimana didalamnya terdapat banyak kondisi yang harus

dikerjakan. Statemant ini juga dapat dikatakan sebagai statement if bertingkat.

Dalam diagram bagan alir statement ini digambarkan sebagai berikut :

Gambar 4.3 Flow Chart Statement case...of

Nilai=

Daftar_nilai_1 Block_statement_1

Block_statement_2

Block_statement_3

Block_statement_n

Nilai=

Daftar_nilai_2

Nilai=

Daftar_nilai_m

Page 12: Tipe Data Dasar & Statemen Kontrol

TIPE DATA DASAR & STATEMEN KONTROL

PUTU RUSDI ARIAWAN

Pada bentuk diatas nilai dapat berupa ekspresi yang bertipe ordinal

misalnya char, byte dan boolean. Daftar_nilai dapat berupa suatu atau

beberapa konstanta bertipe ordinal, yang sesuai dengan tipe nilai.

Bentuk pernyataan untuk menggunakan statement case...of adalah

sebagai berikut:

Kode Program 4.4 Deklrarasi Statement case...of

Pengujian dilakukan dengan mencocokkan nilai dan daftar_nilai,

dimulai dari yang teratas. Kalau suatu pengujian tidak ada yang cocok,

daftar_nilai berikutnya akan diperiksa. Kalau ada yang cocok, statement

yang terletak sesudah tanda baca : akan dijalankan dan kemudian dieksekusi

dilanjutkan ke END. Bagian ELSE hanya akan dijalanka kalau tak ada satupun

daftar_nilai yang cocok.

4.2.3 Program konversi nilai cek

Transaksi keuangan yang dilakukan berbagai pihak khususnya

perbankkan menuntuk ketelitian kejelasan dari nilai uang yang tertera pada bukti

transaksi. Hal ini dapat ditunjukkan dari nilai uang yang tertera dengan angka

dilengkapi juga membilang jumlahn uang dengan tulisan hurup. Misalnya terdapat

sejumlah uang sebesar Rp. 1.200.999,00 maka dibawahnya terdapat tulisan “Satu

Juta Dua Ratus Ribu Sembilan Ratus Sembilan Puluh Sembilan Rupiah”.

Program berikut bertujuan untuk menyelesaikan permasahan tersebut

dengan komputer. Nilai mata uang rupiah dalam angka sebagai input program

akan dikonversikan ke bentuk terbilang dengan hurup.

CASE nilai OF

daftar_nilai_1: statement_1;

daftar_nilai_2: statement_2;

...

daftar_nilai_m: statement_m;

ELSE

statement_n

END

Page 13: Tipe Data Dasar & Statemen Kontrol

TIPE DATA DASAR & STATEMEN KONTROL

PUTU RUSDI ARIAWAN

4.2.4 Program konversi nilai suhu

Suhu menyatakan derajat panas dari keadaan suatu benda, ruang,

sistem dan lingkungan. Satuan suhu bermacam-macam antara lain Celcius,

Farenheith, Kelvin dan Reamur. Masing-masing satuan tersebut memiliki titik

beku dan titik didih yang berbeda. Perbedaan ini menyebabkan dalam tingkat

panas yang sama maka derajat yang ditunjukkan antara sattuan suhu yang berbeda

akan berbeda juga.

Mengubah suatu satuan suhu ke satuan suhu yang lain dilakukan

dengan memperhatikan perbandingan besaran masing-maisng satuan:

1. Skala Celcius ke Farenheith

)32(*5

9CF ………………………………………………………(4.1)

2. Skala Celcius ke Kelvin

15.273CK ……………………………………………………… (4.2)

3. Skala Celcius ke Reamur

CR *5

4…………………………………………………………….. (4.3)

4. Skala Farenheith ke Kelvin

38.255)*9

5( FK ………………………………………………….(4.4)

5 Skala Farenheith ke Celcius.

)32(*9

5FC …………………………………………………….... (4.5)

6 Skala Farenheith ke Reamur

)32(*9

4FR ……………………………………………………… (4.6)

7 Skala Kelvin ke Celcius

15.273KC ………………………………………………………. (4.7)

8 Skala Kelvin ke Farenheith

67.459)*5

9( KF ………………………………………………… (4.8)

9 Skala Kelvin ke Reamur

Page 14: Tipe Data Dasar & Statemen Kontrol

TIPE DATA DASAR & STATEMEN KONTROL

PUTU RUSDI ARIAWAN

15.273)*5

4( KR ........................................................................(4.9)

10 Skala Reamur ke Celcius

RC *4

5..................................................................................... (4.10)

11 Skala Reamur ke Farenheith

32*4

9RF ............................................................................... (4.11)

12 Skala Reamur ke Kelvin

15.273)*4

5( KK ..........................................................................(4.12)

4.3 Pembahasan dan Analisa

Pada percobaan Modul II ditekankan pada penggunaan statement

kontrol khususnya if...then, if...else... dan case...of. Statement tersebut berguna

jika kita dihadapkan pada permasalahan untuk mengmbil suatu keputusan

terhadap alternatif dari konsisi permasalahan. Disamping itu juga kita diharapkan

mapu menggunakan tipe data yang sesuai dengan keperluan variabel sehingga

diperoleh penggunaan memori yang efisien.

Program Konversi Cek

Setelah suatu masalah dipahami dengan jelas yaitu melalui pembatasan

masalah, kemudian model sudah dibuat, maka tahap selanjutnya adalah menyusun

langkah-langkah untuk penyelesaian masalah, kebenaran langkah langkah tersebut

secara logika harus dapat ditelusuri. Walupun langkah langkah yang dibuat dalam

rancangan algoritma ini masih merupakan langkah langkah yang tidak terlampau

rinci, tetapi secara keseluruhan ia harus dapat mengambarkan tahapan

penyelesaian dengan jelas, untuk itulah dikembangkan teknik teknik algoritma

yang akan dijelaskan pada bab mendatang.

Penjelasan Procedure dan Fungsi

a. Fungsi ratusan

Page 15: Tipe Data Dasar & Statemen Kontrol

TIPE DATA DASAR & STATEMEN KONTROL

PUTU RUSDI ARIAWAN

Kode Program 4.5 Fungsi Ratusan Program Konversi Cek(a)

function hitung_ratusan(uang:longint):longint;

begin

ratusan:= uang div 100;

sisa_ratusan := uang mod 100;

case ratusan of

0: bilang_ratusan:= '';

1: bilang_ratusan:= 'Seratus ';

2: bilang_ratusan:='Dua Ratus ';

3: bilang_ratusan:='Tiga Ratus ';

4: bilang_ratusan:='Empat Ratus ';

5: bilang_ratusan:='Lima Ratus ';

6: bilang_ratusan:='Enam Ratus ';

7: bilang_ratusan:='Tujuh Ratus ';

8: bilang_ratusan:='Delapan Ratus ';

9: bilang_ratusan:='Sembilan Ratus ';

end;

write (bilang_ratusan);

Page 16: Tipe Data Dasar & Statemen Kontrol

TIPE DATA DASAR & STATEMEN KONTROL

PUTU RUSDI ARIAWAN

Kode Program 4.6 Lanjutan Fungsi Ratusan Program Konversi Cek(b)

Fungsi ratusan mempunyai sifat memberikan nilai ratusan pada saat

dipanggil. Nama dari fungsi tersebut adalah hitung_ratusan dan memiliki

puluhan:= sisa_ratusan div 10;

sisa_puluhan:= sisa_ratusan mod 10;

if puluhan= 1 then

begin

case sisa_puluhan of

0: bilang_satuan:= 'Sepuluh ';

1: bilang_satuan:= 'Sebelas ';

2: bilang_satuan:= 'Dua Belas ';

3: bilang_satuan:= 'Tiga Belas ';

4: bilang_satuan:= 'Empat Belas ';

5: bilang_satuan:= 'Lima Belas ';

6: bilang_satuan:= 'Enam Belas ';

7: bilang_satuan:= 'Tujuh Belas ';

8: bilang_satuan:= 'Delapan Belas ';

9: bilang_satuan:= 'Sembilan Belas ';

end;

write(bilang_satuan);

end

else if puluhan <>1 then

begin

case puluhan of

0: bilang_puluhan:= '';

2: bilang_puluhan:= 'Dua Puluh ';

3: bilang_puluhan:= 'Tiga Puluh ';

4: bilang_puluhan:= 'Empat Puluh ';

5: bilang_puluhan:= 'Lima Puluh ';

6: bilang_puluhan:= 'Enam Puluh ';

7: bilang_puluhan:= 'Tujuh Puluh ';

8: bilang_puluhan:= 'Delapan Puluh ';

9: bilang_puluhan:= 'Sembilan Puluh ';

end;

write (bilang_puluhan);

satuan:=sisa_puluhan mod 10;

case satuan of

0:bilang_satuan:='';

1:bilang_satuan:='Satu ';

2:bilang_satuan:='Dua ';

3:bilang_satuan:='Tiga ';

4:bilang_satuan:='Empat ';

5:bilang_satuan:='Lima ';

6:bilang_satuan:='Enam ';

7:bilang_satuan:='Tujuh ';

8:bilang_satuan:='Delapan ';

9:bilang_satuan:='Sembilan ';

end;

write(bilang_satuan);

end;

end;

Page 17: Tipe Data Dasar & Statemen Kontrol

TIPE DATA DASAR & STATEMEN KONTROL

PUTU RUSDI ARIAWAN

parameter yang dilengkapi dengan tipe data yang digunakan yaitu uang:longint

serta hasil dari fungsi ratusan bertipe data longint. Bagian pernyataan diawali

dengan ratusan:= uang div 100; mengandung pengertian ratusan diisi

dengan hasil bagi dalam bilangan bulat parameter uang dengan seratus.

Dilanjutkan dengan memberi nilai variabel sisa_ratusan dari hasil sisa bagi

parameter uang dengan bilangan seratus dari pernyataan sisa_ratusan := uang

mod 100;. Statement case…of digunakan untuk menetukan pemilihan lebih dari

satu keadaan dimana didalamnya terdapat banyak kondisi yang harus dikerjakan,

seperti apabila ratusan bernilai satu maka bilang_ratusan terisi dengan

‘seratus’.Untuk menampilkan hasil tersebut maka write (bilang_ratusan);

akan mencetaknya kelayar sesuai dengan kondisi.

Untuk mengerjkan nilai puluhan pada prinsifnya sama dengan

pengerjaan ratusan yaitu puluhan:= uang div 10; mengandung pengertian

puluhan diisi dengan hasil bagi dalam bilangan bulat parameter uang dengan

sepuluh. Dilanjutkan dengan memberi nilai variabel sisa_puluhan dari hasil sisa

bagi parameter uang dengan bilangan sepuluh dari pernyataan sisa_puluhan :=

uang mod 100;. Statement case…of digunakan juga untuk menetukan

pemilihan lebih dari satu keadaan dimana didalamnya terdapat banyak kondisi

yang harus dikerjakan, seperti apabila puluhan bernilai lima maka

bilang_puluhan terisi dengan ‘lima puluh’.Untuk menampilkan hasil tersebut

maka write (bilang_puluhan); akan mencetaknya kelayar sesuai dengan

kondisi. Begitu juga untuk penerjaan bilangan satuan dari nilai angka cek untuk

dikonversi menjadi dalam bentuk hurup.

Page 18: Tipe Data Dasar & Statemen Kontrol

TIPE DATA DASAR & STATEMEN KONTROL

PUTU RUSDI ARIAWAN

b. Fungsi ribuan

Kode Program 4.7 Fungsi Ribuan Program Konversi Cek

Pada fungsi ribuan dilakukan dengan membagi nilai parameter uang

dengan bilangan seribu dan kemudian disimpan pada variabel ribuan. Sisa bagi

dari parameter uang dengan bilangan seribu juga dilakukan oleh pernyataan

sisa_ribuan := uang mod 1000;. Statement if digunakan dalm permasalahan

untuk mengbil suatu keputusan terhadap dua alternatif. Bagian statement if...then

kondisi berupa ekspresi ribuan = 1. Bentuk ini, kalau kondisi bernilai ribuan

bernilai satu akan menjalankan pernyataan write(‘ Seribu’);. Kata ‘seribu’

akan dicetak kelayar dan kalau tidak dilanjukkan dengan else if ribuan> 1

then. Apabila kondisi ribuan> 1 terpenuhi maka akan memanggil fungsi

ratusan hitung_ratusan(ribuan) yang telah dideklarasikan terlebih dahulu dan

dilanjutkan dengan mencetak kata ‘ribu’. Untuk variabel sisa_ribuan juga

diproses dengan fungsi ratusan dan berkedudukan sebagai parameter.

function hitung_ribuan(uang: longint): longint;

begin

ribuan := uang div 1000;

sisa_ribuan := uang mod 1000;

if ribuan = 1 then

write('Seribu ')

else if ribuan> 1 then

begin

hitung_ratusan(ribuan);

write('Ribu ');

end;

hitung_ratusan(sisa_ribuan);

end;

Page 19: Tipe Data Dasar & Statemen Kontrol

TIPE DATA DASAR & STATEMEN KONTROL

PUTU RUSDI ARIAWAN

c. Fungsi jutaan

Kode Program 4.8 Fungsi Jutaan Program Konversi Cek

Fungsi ini menggunakan operator-operator yang tidak jauh berbeda

dari fungsi sebelumnya seperti div dan operator mod. Variabel jutaan diisi oleh

hasil bagi dalam bilangan bulat parameter uang dengan satu juta, variabel

sisa_jutaan diisi oleh sisa bagi parameter uang dengan bilangan satu juta.

Nilai dari variabel jutaan diproses dengan fungsi hitung_ratusan dan

ditambahkan dengan kata ‘juta’. Untuk nilai variabel sisa_jutaan juaga

dilakukan dengan pemanggilan fungsi hitung_ribuan. Fungsi hitung_jutaan

pernyataanya tergolong pendek dibandingkan dengan fungsi lainnya. Hal ini

disebebkan oleh karena proses yang dilakukan sudah dideklarasikan terlebih

dahulu sehingga untuk menggunakannya kembali cukup dengan memanggil nama

fungsi yang bersangkutan.

function hitung_jutaan(uang: longint): longint;

begin

jutaan := uang div 1000000;

sisa_jutaan := uang mod 1000000;

hitung_ratusan(jutaan);

write('Juta ');

hitung_ribuan(sisa_jutaan);

end;

Page 20: Tipe Data Dasar & Statemen Kontrol

TIPE DATA DASAR & STATEMEN KONTROL

PUTU RUSDI ARIAWAN

d. Program utama

e.

Kode Program 4.9 Program Utama Konversi Cek(a)

program bilang_uang;

uses

winCrt;

var

input: string;

uang : longint;

kode : integer;

ket : boolean;

bilang_ratusan: string;

bilang_puluhan: string;

bilang_satuan : string;

jutaan, sisa_jutaan : longint;

ratusan, sisa_ratusan: longint;

ribuan, sisa_ribuan : longint;

puluhan, sisa_puluhan: longint;

satuan: longint;

jawab:char;

begin {program utama}

jawab:='y';

while (jawab='y') or (jawab='Y') do

begin

repeat {pengulangan input}

write ('Masukkan input = ');

readln(input);

val(input, uang, kode);

if kode <>0 then

begin

writeln ('Masukkan angka yang kurang dari satu milyar!');

writeln;

ket:=false;

end

else if uang < 0 then

begin

writeln('Masukkan nilai positif!');

writeln;

ket:=false;

end

else if uang >=1000000000 then

begin

writeln('Masukkan angka yang kurang dari satu milyar!');

writeln;

ket:=false;

end

else

ket:= true;

until ket=true;

Page 21: Tipe Data Dasar & Statemen Kontrol

TIPE DATA DASAR & STATEMEN KONTROL

PUTU RUSDI ARIAWAN

Kode Program 4.10 Program Utama Konversi Cek(b)

Program utama terdiri dari bagian-magian. Bagian kepala program

adalah nama dari program diawali dengan reserved word program kemudian

dilengkapi dengan penamaan dan tanda titik koma program bilang_uang;.

Penamaan harus sesuai dengan syarat-syarat aturan penamaan variabel. Nama

program boleh berbeda dengan nama file program. Kepala program yang

dinyatakan oleh nama program hanya bersifat opsional berarti dalam suatu

program dapat saja tidak mencantumkan nama program.

Sebelum suatu variabel dapat digunakan pada bagian pernyataan,

variabel haruslah dideklarasikan terlebih dahulu. Seperti input merupakan nama

variabel berupa pengenal, string merupakan jenis tipe data yang digunakan

untuk menyimpan nilai yang terdapat pada variabel input dan untuk deklarasi

variabel yang lain berlaku hal yang sama. Pendeklarasian variabel merupakan

upaya untuk memesan tempat didalam memori bagi variabel danjuga menentukan

tipe datanya.

Program utama diawali dengan memasukkan input uang cek dalam

bentuk angka write ('Masukkan input = '). Nilai yang dimasukkan akan

ditempatkan pada variabel input yang ditunjukkan dengan readln(input);.

Pernyataan val(input, uang, kode); berfungsi untuk mengkonversi tipe data

input yang dismpan dalam bentuk string menjadi bentuk longint pada variabel

uang dan kode berbentuk integer. Hal ini bertujuan untuk mengecek apakah input

yang dimasukkan berupa angka melalui statement if diikuti ekspresi kode <>0

apabila bernilai benar berarti yang dimasukkan berupa karakter. Pesan akan

if length(input)<= 3 then

hitung_ratusan (uang)

else if length(input)<= 6 then

hitung_ribuan(uang)

else if length(input)<= 12 then

hitung_jutaan(uang)

else if (uang)=0 then

write ('Nol');

writeln ('Rupiah');

write('Menggunakan lagi?(Y/N): ');

readln(jawab);

end;

end.

Page 22: Tipe Data Dasar & Statemen Kontrol

TIPE DATA DASAR & STATEMEN KONTROL

PUTU RUSDI ARIAWAN

dimunculkan 'Masukkan angka yang kurang dari satu milyar!. Jika yang

dimasukkan bilangan negatif maka akan dieksekusi oleh else if uang < 0

dilanjutkan dengan menampilkan('Masukkan nilai positif!') dan juga bila

musukan melebihi batas yang ditentukan else if uang >=1000000000 pesan

akan ditampilkan adalah 'Masukkan angka yang kurang dari satu milyar!.

Perulangan memasukkan nilai input akan berakhir apabila until ket=true.

Statement if digunakan dalam permasalahan untuk mengabil suatu

keputusan terhadap dari masukan yang disimpan pada variabel uang dan length

berfungsi untuk menghitung panjang string input. Apabila pangjang string input

lebing dari atau sama dengan tiga maka dieksekusi oleh fungsi hitung_ratusan.

Kalau length mempunyai karakter lebih dari atau sama dengan enam maka

fungsi hitung_ribuan dipsnggil untuk memproses input. Input yang memiliki

karakter lebih dari atau sama dengan dua belas diselesaikan oleh fungsi

hitung_jutaan. Jika bernilai nol akan dicetak ‘nol rupiah’. Program ini akan

memberikan pilihan untuk menentukan apakah kita akan menggunakan lagi atau

tidak yang dinyatakan oleh write('Menggunakan lagi?(Y/N): '). Jawaban

dari pilihan disimpan pada variabel jawab. Jika yang dimaksukkan karakter „y‟

maka program akan malakukan perulangn memalui while (jawab='y') or

(jawab='Y') do . Pemasuukan nilai input yang baru dapat dilakukan kembali.

Algoritma

Berikut ini algoritma program konversi cek dari nilai angka dalam

mata uang rupiah yang menjadi input.

0. Mulai

1. Masukkan angka

2. Jika length angka lebih dari dan atau sama dengan 3:hitung_ratusan (uang)

3. Jika length angka lebih dari dan atau sama dengan 6:hitung_ribuan (uang)

4. Jika length angka lebih dari dan atau sama dengan 12:hitung_jutaan (uang)

5. Jika angka sama dengan 0:cetak‟nol rupiah‟

6. Menggunakan lagi? Go to 1

Selesai

Page 23: Tipe Data Dasar & Statemen Kontrol

TIPE DATA DASAR & STATEMEN KONTROL

PUTU RUSDI ARIAWAN

Flowchart

a. Flow chart fungsi_ratusan

Gambar 4.4 Flow Chart Fungsi Ratusan Program Konversi Cek(a)

Start

Input (uang)

ratusan=0

ratusan uang div 100

sisa_ratusan uang mod 100

bilang_ratusan „ „

ratusan=1 bilang_ratusan „ Seratus „

ratusan=2 bilang_ratusan „ Dua Ratus„

ratusan=3 bilang_ratusan „ Tiga Ratus„

ratusan=4 bilang_ratusan „ Empat Ratus„

ratusan=5 bilang_ratusan „ Lima Ratus„

ratusan=6 bilang_ratusan „ Enam Ratus„

ratusan=7 bilang_ratusan „ Tujuh Ratus„

ratusan=8 bilang_ratusan „ Delapan Ratus„

A B

Yes

No

Yes

No

Yes

No

Yes

Yes

No

Yes

No

No

Yes

No

Yes

No

Yes

No

Page 24: Tipe Data Dasar & Statemen Kontrol

TIPE DATA DASAR & STATEMEN KONTROL

PUTU RUSDI ARIAWAN

Gambar 4.5 Flow Chart Fungsi Ratusan Program Konversi Cek(b)

ratusan=9 bilang_ratusan „ Sembilan Ratus„

A B

Yes

No

Input

(bilang_ratusan)

puluhan susa_ratusan div 10

sisa_puluhan sisa_ratusan mod 10

puluhan=1

2

sisa_puluhan=0 bilang_satuan „ Sepuluh„

sisa_puluhan=1

bilang_satuan „ Sebelas„

sisa_puluhan=2

bilang_satuan „ Dua Belas„

sisa_puluhan=3

bilang_saruan „ Tiga Belas„

sisa_puluhan=4

bilang_satuan „ Empat Belas„

sisa_puluhan=5

bilang_satuan „ Lima Belas„

sisa_puluhan=6

bilang_satuan „ Enam Belas„

D E

Yes

No

Yes

Yes

No

Yes

No

No

Yes

No

Yes

No

Yes

No

C

Yes

No

Page 25: Tipe Data Dasar & Statemen Kontrol

TIPE DATA DASAR & STATEMEN KONTROL

PUTU RUSDI ARIAWAN

Gambar 4.6 Flow Chart Fungsi Ratusan Program Konversi Cek(c)

C

puluhan=0 bilang_puluhan „ „

puluhan=2

bilang_puluhan „ Dua Puluh„

puluhan=3

bilang_puluhan „ Tiga Puluh„

puluhan=4

bilang_puluhan „ Empat Puluh„

puluhan=5

bilang_puluhan „ Lima Belas„

puluhan=6

bilang_puluhan „ Enam Puluh„

puluhan=7

bilang_puluhan „ Tujuh Puluh„

F G

Yes

No

Yes

Yes

No

Yes

No

No

Yes

No

Yes

No

Yes

No

D E

sisa_puluhan=7

bilang_satuan „ Tujuh Belas„

sisa_puluhan=8

bilang_satuan „ Delapan Belas„

sisa_puluhan=9

bilang_satuan „ Sembilan Belas„

No

Yes

No

Yes

No

Yes

No

Input

(bilang_satuan)

puluhan=8

bilang_puluhan „ Delapan Puluh„

Yes

No

Page 26: Tipe Data Dasar & Statemen Kontrol

TIPE DATA DASAR & STATEMEN KONTROL

PUTU RUSDI ARIAWAN

Gambar 4.7 Flow Chart Fungsi Ratusan Program Konversi Cek(d)

F G

puluhan=9

bilang_puluhan „ Sembilan Puluh„

Yes

No

Input

(bilang_puluhan)

satuan sisa_puluhan mod 10

satuan =0 bilang_satuan „ „

satuan =1 bilang_satuan „ Satu„

satuan =2 bilang_satuan „ Dua „

satuan =3 bilang_satuan „ Tiga „

satuan =4 bilang_satuan „ Empat „

satuan =5 bilang_satuan „ Lima „

satuan =6 bilang_satuan „ Enam „

satuan =7 bilang_satuan „ Tujuh „

satuan =8 bilang_satuan „ Delapan „

H I

Yes

No

Yes

No

Yes

No

Yes

Yes

No

Yes

No

No

Yes

No

Yes

No

Yes

No

Page 27: Tipe Data Dasar & Statemen Kontrol

TIPE DATA DASAR & STATEMEN KONTROL

PUTU RUSDI ARIAWAN

Gambar 4.8 Flow Chart Fungsi Ratusan Program Konversi Cek(e)

b. Flow Chart fungsi hitung_ribuan

Gambar 4.9 Flow Chart Fungsi Ribuan Program Konversi Cek

Start

Input (uang)

ribuan=1

ribuan uang div 1000

sisa_ribuan uang mod 1000

Yes

No

Output „ Seribu‟

ribuan >1

Output „ Ribu‟

End.

hitung_ratusan (ribuan)

hitung_ratusan (sisa_ribuan)

satuan =9 bilang_satuan „ Sembilan „ Yes

H I

No

Input

(bilang_satuan)

End.

Page 28: Tipe Data Dasar & Statemen Kontrol

TIPE DATA DASAR & STATEMEN KONTROL

PUTU RUSDI ARIAWAN

Start

length angk<= 3

Input

„Masukkan

input: ‟ (angk)

hitung_ratusan (uang)

Yes

No

K J

c. Flow Chart fungsi hitung_jutaan

Gambar 4.10 Chart Fungsi Jutaan Program Konversi Cek

d. Flow chart program utama

Gambar 4.11 Flow Chart Program Utama Konversi Cek(a)

Start

Input (uang)

jutaan uang div 1000000

sisa_jutaan uang mod 1000000

Output „ Juta‟

End.

hitung_ratusan (jutaan)

hitung_ratusan (sisa_jutaan)

Page 29: Tipe Data Dasar & Statemen Kontrol

TIPE DATA DASAR & STATEMEN KONTROL

PUTU RUSDI ARIAWAN

Gambar 4.12 Flow Chart Program Utama Konversi Cek(b)

Kode Program

program bilang_uang;

uses

winCrt;

var

input: string;

uang : longint;

kode : integer;

ket : boolean;

bilang_ratusan: string;

bilang_puluhan: string;

bilang_satuan : string;

jutaan, sisa_jutaan : longint;

ratusan, sisa_ratusan: longint;

ribuan, sisa_ribuan : longint;

puluhan, sisa_puluhan: longint;

Kode Program 4.11 Program Konversi Cek (a)

length angk<= 6

length angk<= 12

Output „nol rupiah‟

hitung_jutaan (uang)

hitung_ribuan (uang)

(uang) = 0

„Menggunakan

lagi?(y/n): ‟

End.

Yes

No

Yes

No

No

Yes

No

K K

Page 30: Tipe Data Dasar & Statemen Kontrol

TIPE DATA DASAR & STATEMEN KONTROL

PUTU RUSDI ARIAWAN

satuan: longint;

jawab:char;

function hitung_ratusan(uang:longint):longint;

begin

ratusan:= uang div 100;

sisa_ratusan := uang mod 100;

case ratusan of

0: bilang_ratusan:= '';

1: bilang_ratusan:= 'Seratus ';

2: bilang_ratusan:='Dua Ratus ';

3: bilang_ratusan:='Tiga Ratus ';

4: bilang_ratusan:='Empat Ratus ';

5: bilang_ratusan:='Lima Ratus ';

6: bilang_ratusan:='Enam Ratus ';

7: bilang_ratusan:='Tujuh Ratus ';

8: bilang_ratusan:='Delapan Ratus ';

9: bilang_ratusan:='Sembilan Ratus ';

end;

write (bilang_ratusan);

puluhan:= sisa_ratusan div 10;

sisa_puluhan:= sisa_ratusan mod 10;

if puluhan= 1 then

begin

case sisa_puluhan of

0: bilang_satuan:= 'Sepuluh ';

1: bilang_satuan:= 'Sebelas ';

2: bilang_satuan:= 'Dua Belas ';

3: bilang_satuan:= 'Tiga Belas ';

4: bilang_satuan:= 'Empat Belas ';

5: bilang_satuan:= 'Lima Belas ';

6: bilang_satuan:= 'Enam Belas ';

7: bilang_satuan:= 'Tujuh Belas ';

8: bilang_satuan:= 'Delapan Belas ';

9: bilang_satuan:= 'Sembilan Belas ';

end;

write(bilang_satuan);

end

else if puluhan <>1 then

begin

case puluhan of

0: bilang_puluhan:= '';

2: bilang_puluhan:= 'Dua Puluh ';

3: bilang_puluhan:= 'Tiga Puluh ';

4: bilang_puluhan:= 'Empat Puluh ';

5: bilang_puluhan:= 'Lima Puluh ';

6: bilang_puluhan:= 'Enam Puluh ';

7: bilang_puluhan:= 'Tujuh Puluh ';

8: bilang_puluhan:= 'Delapan Puluh ';

9: bilang_puluhan:= 'Sembilan Puluh ';

end;

write (bilang_puluhan);

satuan:=sisa_puluhan mod 10;

Kode Program 4.12 Program Konversi Cek(b)

Page 31: Tipe Data Dasar & Statemen Kontrol

TIPE DATA DASAR & STATEMEN KONTROL

PUTU RUSDI ARIAWAN

case satuan of

0:bilang_satuan:='';

1:bilang_satuan:='Satu ';

2:bilang_satuan:='Dua ';

3:bilang_satuan:='Tiga ';

4:bilang_satuan:='Empat ';

5:bilang_satuan:='Lima ';

6:bilang_satuan:='Enam ';

7:bilang_satuan:='Tujuh ';

8:bilang_satuan:='Delapan ';

9:bilang_satuan:='Sembilan ';

end;

write(bilang_satuan);

end;

end;

function hitung_ribuan(uang: longint): longint;

begin

ribuan := uang div 1000;

sisa_ribuan := uang mod 1000;

if ribuan = 1 then

write('Seribu ')

else if ribuan> 1 then

begin

hitung_ratusan(ribuan);

write('Ribu ');

end;

hitung_ratusan(sisa_ribuan);

end;

function hitung_jutaan(uang: longint): longint;

begin

jutaan := uang div 1000000;

sisa_jutaan := uang mod 1000000;

hitung_ratusan(jutaan);

write('Juta ');

hitung_ribuan(sisa_jutaan);

end;

begin {program utama}

jawab:='y';

while (jawab='y') or (jawab='Y') do

begin

writeln ('==========================================');

writeln ('PROGRAM KONVERSI ANGKA KE HURUP KLP. XVIII');

writeln ('==========================================');

repeat {pengulangan input}

write ('Masukkan input = ');

readln(input);

Kode Program 4.13 Program Konversi Cek (c)

Page 32: Tipe Data Dasar & Statemen Kontrol

TIPE DATA DASAR & STATEMEN KONTROL

PUTU RUSDI ARIAWAN

val(input, uang, kode);

if kode <>0 then

begin

writeln ('Masukkan angka yang kurang dari satu milyar!');

writeln;

ket:=false;

end

else if uang < 0 then

begin

writeln('Masukkan nilai positif!');

writeln;

ket:=false;

end

else if uang >=1000000000 then

begin

writeln('Masukkan angka yang kurang dari satu milyar!');

writeln;

ket:=false;

end

else

ket:= true;

until ket=true;

if length(input)<= 3 then

hitung_ratusan (uang)

else if length(input)<= 6 then

hitung_ribuan(uang)

else if length(input)<= 12 then

hitung_jutaan(uang)

else if (uang)=0 then

write ('Nol');

writeln ('Rupiah');

write('Menggunakan lagi?(Y/N): ');

readln(jawab);

{readln;

donewinCrt;}

end;

end.

Kode Program 4.14 Program Konversi Cek (d)

Program Konversi Suhu

Setelah suatu masalah dipahami dengan jelas yaitu melalui pembatasan

masalah, kemudian model sudah dibuat, maka tahap selanjutnya adalah menyusun

langkah-langkah untuk penyelesaian masalah, kebenaran langkah langkah tersebut

secara logika harus dapat ditelusuri. Walupun langkah langkah yang dibuat dalam

rancangan algoritma ini masih merupakan langkah langkah yang tidak terlampau

Page 33: Tipe Data Dasar & Statemen Kontrol

TIPE DATA DASAR & STATEMEN KONTROL

PUTU RUSDI ARIAWAN

rinci, tetapi secara keseluruhan ia harus dapat mengambarkan tahapan

penyelesaian dengan jelas, untuk itulah dikembangkan teknik teknik algoritma

yang akan dijelaskan pada bab mendatang.

Penjelasan Procedure dan Fungsi

a. Fungsi konversi suhu

function c2f(suhu:real):real;

var

ket:boolean;

c,f:real;

code:integer;

str:string;

begin

x:=23;

repeat

Write('Masukkan nilai suhu dalam derajat Celcius: ');

readln(str);

val(str,suhu,code);

if(code<>0) then

begin

writeln('Masukkan angka!');

ket:=false;

end

else

ket:=true;

until ket=true;

f:=((5/9)*suhu)+32;

gotoxy(20,25);

writeln('Hasil konversi: ',suhu:3:2,' derajat Celcius =

',f:3:2,' derajat Farenheith');

end;

Kode Program 4.15 Fungsi c2f Program Konversi Suhu

Fungsi ini mempunyai sifat memberikan suhu konversi yang

diinginkan pada saat dipanggil. Nama dari fungsi tersebut adalah c2k dan

memiliki parameter yang dilengkapi dengan tipe data yang digunakan yaitu

suhu:real; serta hasil dari fungsi ratusan bertipe data real.

Variabel lokal digunakan pada fungsi ini dimana varialbel yang

dideklarasikan hanya berlaku pada fungsi yang bersangkutan. Variabel

Page 34: Tipe Data Dasar & Statemen Kontrol

TIPE DATA DASAR & STATEMEN KONTROL

PUTU RUSDI ARIAWAN

dideklarasikan terlebih dahulu. Seperti c merupakan nama variabel berupa

pengenal, real merupakan jenis tipe data yang digunakan untuk menyimpan

nilai yang terdapat pada variabel input dan untuk deklarasi variabel yang lain

berlaku hal yang sama. Pendeklarasian variabel merupakan upaya untuk memesan

tempat didalam memori bagi variabel danjuga menentukan tipe datanya.

Pernyataan fungsi diawali dengan memasukkan input suhu

Write('Masukkan nilai suhu dalam derajat Celcius: ');. Nilai yang

dimasukkan akan ditempatkan pada variabel str yang ditunjukkan dengan

readln(str);. Pernyataan val(str, num, code); berfungsi untuk

mengkonversi tipe data str yang dismpan dalam bentuk string menjadi bentuk

real pada variabel num dan code berbentuk integer. Hal ini bertujuan untuk

mengecek apakah input yang dimasukkan berupa angka melalui statement if

diikuti ekspresi code <>0 apabila bernilai benar berarti yang dimasukkan berupa

karakter dan bukan angka. Pesan akan dimunculkan writeln('Masukkan

angka!');. Perulangan memasukkan nilai input akan berakhir apabila until

ket=true. Nilai input suhu Celcius yang disimpan pada variabel num dikonversi

menjadi suhu dengan satuan Farenhith oleh pernyataan f:=((5/9)*suhu)+32;.

Hasilnya dicetak ke monitor oleh pernyataan writeln('Hasil konversi:

',suhu:3:2,' derajat Celcius = ',f:3:2,' derajat Farenheith');.

Konversi ke satuan Farenheith ditampilkan dengan menyertakan dua angka di

belakang koma dan dimulai dari digit ke tiga ,f:3:2,.

Untuk fungsi-fungsi berikutnya berprinsip yang sama dengan

diatas. Rumus konversi yang digunakan menyesuikan dengan satuan suhu yang

diketahui dan tujuan konversi satuan yang diinginkan.

Page 35: Tipe Data Dasar & Statemen Kontrol

TIPE DATA DASAR & STATEMEN KONTROL

PUTU RUSDI ARIAWAN

b. Program utama konversi suhu

Kode Program 4.16 Program Utama Konversi Suhu (a)

program Konversi_suhu;

uses

winCrt;

var

pilihan :string;

jawab:char;

bil,cd:integer;

suhu:real;

begin

jawab:='y';

while (jawab='y') or (jawab='Y')do

begin

clrscr;

writeln('Silahkan pilih salah satu pilihan di bawah ini');

writeln ('Jenis konversi');

writeln ('1. Celcius ke Farenheit');

writeln ('2. Celcius ke Kelvin');

writeln ('3. Celcius ke Reamur');

writeln ('4. Farenheit ke Celcius');

writeln ('5. Farenheit ke Kelvin');

writeln ('6. Farenheit ke Reamur');

writeln ('7. Kelvin ke Celcius');

writeln ('8. Kelvin ke Farenheit');

writeln ('9. Kelvin ke Reamur');

writeln ('10.Reamur ke Celcius');

writeln ('11.Reamur ke Farenheit');

writeln ('12.Reamur ke Kelvin');

write('Nomor pilihan: ');

readln(pilihan);

val(pilihan,bil,cd);

if (cd<>0) then

begin

writeln('Tolong masukkan angka!!');

end

else

begin

if ((bil >0) and (bil<13)) then

begin

if bil = 1 then

c2f (suhu)

else if bil = 2 then

c2k(suhu)

else if bil = 3 then

c2r(suhu)

Page 36: Tipe Data Dasar & Statemen Kontrol

TIPE DATA DASAR & STATEMEN KONTROL

PUTU RUSDI ARIAWAN

Kode Program 4.14 Lanjutan Program Utama Konversi Suhu

Kode Program 4.17 Program Utama Konversi Suhu (b)

Program utama akan menampilkan pilihan satuan konversi suhu.

Seperti contoh writeln ('2. Celcius ke Kelvin');. Melalui write('Nomor

pilihan: ');readln(pilihan);user dapat menentukan pilihannya. Pernyataan

val(pilihan , bil, cd); berfungsi untuk mengkonversi tipe data pilihan

yang dismpan dalam bentuk string menjadi bentuk real pada variabel bil dan cd

berbentuk integer. Hal ini bertujuan untuk mengecek apakah input yang

dimasukkan berupa angka melalui statement if diikuti ekspresi code <>0

apabila bernilai benar berarti yang dimasukkan berupa karakter dan bukan angka.

Statement if digunakan dalam permasalahan untuk mengabil suatu

keputusan terhadap dari masukan yang disimpan pada variabel bil. Dengan

statemen ini bilangan yang dimasukkan sebagai pemilihan options akan

memanggil fungsi sesuai dengan angka pilihan. Seperti jika pilihan 2 maka

else if bil = 4 then

f2k(suhu)

else if bil = 5 then

f2c(suhu)

else if bil = 6 then

f2r(suhu)

else if bil = 7 then

k2c(suhu)

else if bil = 8 then

k2f(suhu)

else if bil = 9 then

k2r(suhu)

else if bil = 10 then

r2c(suhu)

else if bil = 11then

r2f(suhu)

else

r2k(suhu);

end

else

begin

writeln('Masukkan pilihan antara 1 - 12');

end;

end;

writeln;

write('Coba lagi(Y/N): ');

readln(jawab);

end;

end.

Page 37: Tipe Data Dasar & Statemen Kontrol

TIPE DATA DASAR & STATEMEN KONTROL

PUTU RUSDI ARIAWAN

variabel bil terisi oleh nilai 2, diproses dengan statement kendali dan memanggil

fungsi c2k. Berarti dilakukan konversi satuan Celcius ke satuan Kelvin.

Program ini akan memberikan pilihan untuk menentukan apakah kita

akan menggunakan lagi atau tidak yang dinyatakan oleh write('Menggunakan

lagi?(Y/N): '). Jawaban dari pilihan disimpan pada variabel jawab. Jika yang

dimaksukkan karakter „y‟ maka program akan malakukan perulangn memalui

while (jawab='y') or (jawab='Y') do . Pemasuukan nilai input yang baru

dapat dilakukan kembali.

Algoritma

Berikut ini algoritma program konversi suhu dari salah satu nilai

satuan suhu ke salah satuan yang lainnya.

0. Mulai

1. Pilihan konversi satuan suhu (bil)

2. Jika bil=1: Celcius to Farenheith (num)

3. Jika bil=2: Celcius to Kelvin (num)

4. Jika bil=3: Celcius to Reamur (num)

5. Jika bil=4: Farenheith to Kelvin (num)

6. Jika bil=5: Farenheith to Celcius (num)

7. Jika bil=6: Farenheith to Reamur (num)

8. Jika bil=7: Kelvin to Celcius (num)

9. Jika bil=8: Kelvin to Farenheith (num)

10. Jika bil=9: Kelvin to Reamur (num)

11. Jika bil=10: Reamur to Celcius (num)

12. Jika bil=11: Reamur to Farenheith (num)

13. Jika tidak : Reamur to Kelvin (num)

14. Selesai

Page 38: Tipe Data Dasar & Statemen Kontrol

TIPE DATA DASAR & STATEMEN KONTROL

PUTU RUSDI ARIAWAN

Start

Input

„Masukkan

suhu: ‟ (num)

f (9/5)*c + 32

Output „ Hasil

konversi‟ (f)

Start

Start

Input

„Masukkan

suhu: ‟ (c)

k c + 273.15

Output „ Hasil

konversi‟ (k)

Start

Flowchart

a. Flow chart fungsi c2f

Gambar 4.13 Flow Chart Fungsi c2f Program Konversi Suhu

b. Flow chart fungsi c2k

Gambar 4.14 Flow Chart Fungsi c2k Program Konversi Suhu

Page 39: Tipe Data Dasar & Statemen Kontrol

TIPE DATA DASAR & STATEMEN KONTROL

PUTU RUSDI ARIAWAN

Start

Input

„Masukkan

suhu: ‟ (f)

r (4/5)*c

Output „ Hasil

konversi‟ (r)

Start

Start

Input

„Masukkan

suhu: ‟ (f)

k (5/9*f)+255.38

Output „ Hasil

konversi‟ (k)

Start

c. Flow chart fungsi c2r

Gambar 4.15 Flow Chart Fungsi c2r Program Konversi Suhu

d. Flowchart fungsi f2k

Gambar 4.16 Flow Chart Fungsi f2k Program Konversi Suhu

Page 40: Tipe Data Dasar & Statemen Kontrol

TIPE DATA DASAR & STATEMEN KONTROL

PUTU RUSDI ARIAWAN

Start

Input

„Masukkan

suhu: ‟ (f)

c 4/9*(f-32)

Output „ Hasil

konversi‟ (c)

Start

Start

Input

„Masukkan

suhu: ‟ (f)

r 4/9*(f-32)

Output „ Hasil

konversi‟ (r)

Start

e. Flowchart fungsi f2c

Gambar 4.17Flow Chart Fungsi f2c Program Konversi Suhu

f. Flow chart fungsi f2r

Gambar 4.18 Flow Chart Fungsi f2r Program Konversi Suhu

Page 41: Tipe Data Dasar & Statemen Kontrol

TIPE DATA DASAR & STATEMEN KONTROL

PUTU RUSDI ARIAWAN

Start

Input

„Masukkan

suhu: ‟ (k)

c k - 273.15

Output „ Hasil

konversi‟ (c)

Start

Start

Input

„Masukkan

suhu: ‟ (k)

f (9/5*k) – 459.67

Output „ Hasil

konversi‟ (r)

Start

h Flow chart fungsi k2c

Gambar 4.19 Flow Chart Fungsi k2c Program Konversi Suhu

h. Flow chart fungsi k2f

Gambar 4.20 Flow Chart Fungsi k2f Program Konversi Suhu

Page 42: Tipe Data Dasar & Statemen Kontrol

TIPE DATA DASAR & STATEMEN KONTROL

PUTU RUSDI ARIAWAN

Start

Input

„Masukkan

suhu: ‟ (k)

r (4/5*k) - 273.15

Output „ Hasil

konversi‟ (c)

Start

Start

Input

„Masukkan

suhu: ‟ (r)

c 4/5*r

Output „ Hasil

konversi‟ (r)

Start

i. Flow chart fungsi k2r

Gambar 4.21 Flow Chart Fungsi k2r Program Konversi Suhu

j. Flow chart fungsi r2c

Gambar 4.22 Flow Chart Fungsi r2c Program Konversi Suhu

Page 43: Tipe Data Dasar & Statemen Kontrol

TIPE DATA DASAR & STATEMEN KONTROL

PUTU RUSDI ARIAWAN

Start

Input

„Masukkan

suhu: ‟ (r)

f 4/9*r+32

Output „ Hasil

konversi‟ (c)

Start

Start

Input

„Masukkan

suhu: ‟ (r)

k (5/4*r) – 273.15

Output „ Hasil

konversi‟ (k)

Start

k. Flow chart fungsi r2f

Gambar 4.23 Flow Chart Fungsi r2f Program Konversi Suhu

l. Flow chart fungsi r2k

Gambar 4.24 Flow Chart Fungsi r2k Program Konversi Suhu

Page 44: Tipe Data Dasar & Statemen Kontrol

TIPE DATA DASAR & STATEMEN KONTROL

PUTU RUSDI ARIAWAN

Flowchart utama program konversi suhu

Gambar 4.25 Flow Chart t program utama Konversi Suhu (a)

Start

Input

„Nomor pilihan

konversi: ‟(bil)

bil=1

Yes

No c2f

Sepuluh„

X Y

Z

Page 45: Tipe Data Dasar & Statemen Kontrol

TIPE DATA DASAR & STATEMEN KONTROL

PUTU RUSDI ARIAWAN

Gambar 4.26 Flow Chart t program utama Konversi Suhu (b)

bil=3

c2r

bil=4

f2c

bil=5

f2k

bil=6

f2r

bil=7

k2c

bil=8

k2f

Yes

Yes

No

Yes

No

No

Yes

No

Yes

No

Yes

bil=2 c2k

Yes

No

X

bil=9

k2r

Yes

No

X Y

Y

Page 46: Tipe Data Dasar & Statemen Kontrol

TIPE DATA DASAR & STATEMEN KONTROL

PUTU RUSDI ARIAWAN

Gambar 4.27 Flow Chart t program utama Konversi Suhu (c)

Kode Program

program Konversi_suhu;

uses

winCrt;

var

pilihan :string;

jawab:char;

bil,cd:integer;

suhu:real;

function c2f(suhu:real):real;

var

ket:boolean;

c,f:real;

code,x:integer;

str:string;

Kode Program 4.18 Program Konversi Suhu (a)

End.

bil=10

r2c

bil=11

r2f

Yes

No

Yes

No

X Y

bil=12 r2k

coba lagi ? Z

Yes

No

Yes

No

Page 47: Tipe Data Dasar & Statemen Kontrol

TIPE DATA DASAR & STATEMEN KONTROL

PUTU RUSDI ARIAWAN

begin

x:=23;

repeat

gotoxy(20,x);

Write('Masukkan nilai suhu dalam derajat

Celcius: ');

readln(str);

val(str,suhu,code);

if(code<>0) then

begin

gotoxy(20,(x+1));

writeln('Masukkan angka!');

ket:=false;

end

else

ket:=true;

x:=x+2

until ket=true;

f:=(9/5)*suhu+32;

gotoxy(20,25);

writeln('Hasil konversi: ',suhu:3:2,' derajat

Celcius = ',f:3:2,' derajat Farenheith');

end;

function c2k(suhu:real):real;

var

ket:boolean;

c,k:real;

code,x :integer;

str:string;

begin

x:=23;

repeat

gotoxy(20,x);

Write('Masukkan nilai suhu dalam derajat

Celcius: ');

readln(str);

val(str,suhu,code);

if(code<>0) then

begin

gotoxy(20,(x+1));

writeln('Masukkan angka!');

ket:=false;

end

else

ket:=true;

x:=x+2

until ket=true;

k:=suhu+273.15;

gotoxy(20,25);

Kode Program 4.19 Program Konversi Suhu (b)

Page 48: Tipe Data Dasar & Statemen Kontrol

TIPE DATA DASAR & STATEMEN KONTROL

PUTU RUSDI ARIAWAN

writeln('Hasil konversi: ',suhu:3:2,' derajat

Celcius = ',k:3:2,' derajat Kelvin');

end;

function c2r(suhu:real):real;

var

ket:boolean;

c,r:real;

code,x :integer;

str:string;

begin

x:=23;

repeat

gotoxy(20,x);

Write('Masukkan nilai suhu dalam derajat

Celcius: ');

readln(str);

val(str,suhu,code);

if(code<>0) then

begin

gotoxy(20,(x+1));

writeln('Masukkan angka!');

ket:=false;

end

else

ket:=true;

x:=x+2

until ket=true;

r:=((4/5)*suhu);

gotoxy(20,25);

writeln('Hasil konversi: ',suhu,' derajat

Celcius = ',r:3:2,' derajat Reamur');

end;

function f2k(suhu:real):real;

var

ket:boolean;

f,k:real;

code,x :integer;

str:string;

begin

x:=23;

repeat

gotoxy(20,x);

Write('Masukkan nilai suhu dalam derajat

Farenheith: ');

readln(str);

val(str,suhu,code);

if(code<>0) then

begin

gotoxy(20,(x+1));

Kode Program 4.20 Program Konversi Suhu (c)

Page 49: Tipe Data Dasar & Statemen Kontrol

TIPE DATA DASAR & STATEMEN KONTROL

PUTU RUSDI ARIAWAN

writeln('Masukkan angka!');

ket:=false;

end

else

ket:=true;

x:=x+2

until ket=true;

k:=((5/9)*suhu)+255.38;

gotoxy(20,25);

writeln('Hasil konversi: ',suhu:3:2,' derajat

Farenheith = ',k:3:2,' derajat Kelvin');

end;

function f2c(suhu:real):real;

var

ket:boolean;

f,c:real;

code,x :integer;

str:string;

begin

x:=23;

repeat

gotoxy(20,x);

Write('Masukkan nilai suhu dalam derajat

Farenheith: ');

readln(str);

val(str,suhu,code);

if(code<>0) then

begin

gotoxy(20,(x+1));

writeln('Masukkan angka!');

ket:=false;

end

else

ket:=true;

x:=x+2

until ket=true;

c:=((5/9)*suhu)-32;

gotoxy(20,25);

writeln('Hasil konversi: ',suhu:3:2,'derajat

Farenheith = ',c:3:2,' derajat Celcius');

end;

function f2r(suhu:real):real;

var

ket:boolean;

f,r:real;

code,x :integer;

str:string;

begin

x:=23;

Kode Program 4.21 Program Konversi Suhu (d)

Page 50: Tipe Data Dasar & Statemen Kontrol

TIPE DATA DASAR & STATEMEN KONTROL

PUTU RUSDI ARIAWAN

repeat

gotoxy(20,x);

Write('Masukkan nilai suhu dalam derajat

Farenheith: ');

readln(str);

val(str,suhu,code);

if(code<>0) then

begin

gotoxy(20,(x+1));

writeln('Masukkan angka!');

ket:=false;

end

else

ket:=true;

x:=x+2

until ket=true;

r:=(4/9)*(suhu-32);

gotoxy(20,25);

writeln('Hasil konversi: ',suhu:3:2,' derajat

Farenheith = ',r:3:2,' derajat Reamur');

end;

function k2c(suhu:real):real;

var

ket:boolean;

k,c:real;

code,x :integer;

str:string;

begin

x:=23;

repeat

gotoxy(20,x);

Write('Masukkan nilai suhu dalam derajat

Kelvin: ');

readln(str);

val(str,suhu,code);

if(code<>0) then

begin

gotoxy(20,(x+1));

writeln('Masukkan angka!');

ket:=false;

end

else

ket:=true;

x:=x+2

until ket=true;

c:=suhu-273.15;

gotoxy(20,25);

writeln('Hasil konversi: ',suhu:3:2,' derajat

Kelvin = ',c:3:2,' derajat Celcius');

end;

Kode Program 4.22 Program Konversi Suhu (e)

Page 51: Tipe Data Dasar & Statemen Kontrol

TIPE DATA DASAR & STATEMEN KONTROL

PUTU RUSDI ARIAWAN

function k2f(suhu:real):real;

var

ket:boolean;

k,f:real;

code,x :integer;

str:string;

begin

x:=23;

repeat

gotoxy(20,x);

Write('Masukkan nilai suhu dalam derajat

Kelvin: ');

readln(str);

val(str,suhu,code);

if(code<>0) then

begin

gotoxy(20,(x+1));

writeln('Masukkan angka!');

ket:=false;

end

else

ket:=true;

x:=x+2

until ket=true;

f:=((9/5)*suhu)-459.67;

gotoxy(20,25);

writeln('Hasil konversi: ',suhu:3:2,'derajat

Kelvin = ',f:3:2,' derajat Farenheith');

end;

function k2r(suhu:real):real;

var

ket:boolean;

k,r:real;

code,x :integer;

str:string;

begin

x:=23;

repeat

gotoxy(20,x);

Write('Masukkan nilai suhu dalam derajat

Kelvin: ');

readln(str);

val(str,suhu,code);

if(code<>0) then

begin

gotoxy(20,(x+1));

writeln('Masukkan angka!');

ket:=false;

end

else

ket:=true;

Kode Program 4.23 Program Konversi Suhu (f)

Page 52: Tipe Data Dasar & Statemen Kontrol

TIPE DATA DASAR & STATEMEN KONTROL

PUTU RUSDI ARIAWAN

x:=x+2

until ket=true;

r:=((4/5)*suhu)-273.15;

gotoxy(20,25);

writeln('Hasil konversi: ',suhu:3:2,' derajat

Kelvin = ',r:3:2,' derajat Reamur');

end;

function r2c(suhu:real):real;

var

ket:boolean;

r,c:real;

code,x :integer;

str:string;

begin

x:=23;

repeat

gotoxy(20,x);

Write('Masukkan nilai suhu dalam derajat

Reamur: ');

readln(str);

val(str,suhu,code);

if(code<>0) then

begin

gotoxy(20,(x+1));

writeln('Masukkan angka!');

ket:=false;

end

else

ket:=true;

x:=x+2

until ket=true;

c:=((5/4)*suhu);

gotoxy(20,25);

writeln('Hasil konversi: ',suhu:3:2,' derajat

Reamur = ',c,' derajat Celcius');

end;

function r2f(suhu:real):real;

var

ket:boolean;

num,r,f:real;

code,x :integer;

str:string;

begin

x:=23;

repeat

gotoxy(20,x);

Write('Masukkan nilai suhu dalam derajat

Reamur: ');

readln(str);

val(str,suhu,code);

Kode Program 4.24 Program Konversi Suhu (g)

Page 53: Tipe Data Dasar & Statemen Kontrol

TIPE DATA DASAR & STATEMEN KONTROL

PUTU RUSDI ARIAWAN

if(code<>0) then

begin

gotoxy(20,(x+1));

writeln('Masukkan angka!');

ket:=false;

end

else

ket:=true;

x:=x+2

until ket=true;

f:=((9/4)*suhu+32);

gotoxy(20,25);

writeln('Hasil konversi: ',suhu:3:2,' derajat

Reamur = ',f:3:2,' derajat Farenheith');

end;

function r2k(suhu:real):real;

var

ket:boolean;

r,k:real;

code,x :integer;

str:string;

begin

x:=23;

repeat

gotoxy(20,x);

Write('Masukkan nilai suhu dalam derajat

Reamur: ');

readln(str);

val(str,suhu,code);

if(code<>0) then

begin

gotoxy(20,(x+1));

writeln('Masukkan angka!');

ket:=false;

end

else

ket:=true;

x:=x+2

until ket=true;

k:=(5/4*suhu)-273.15;

gotoxy(20,25);

writeln('Hasil konversi: ',suhu:3:2,' derajat

Reamur = ', k:3:2,' derajat Kelvin');

end;

begin

jawab:='y';

while (jawab='y') or (jawab='Y')do

begin

clrscr;

gotoxy(20,2);

Kode Program 4.25 Program Konversi Suhu (h)

Page 54: Tipe Data Dasar & Statemen Kontrol

TIPE DATA DASAR & STATEMEN KONTROL

PUTU RUSDI ARIAWAN

writeln('+================================================+');

gotoxy(20,3);

writeln('+======== PROGRAM KONVERSI SUHU =========+');

gotoxy(20,4);

writeln('+======== KELOMPOK : XVIII =========+');

gotoxy(20,5);

writeln('+================================================+');

gotoxy(20,7);

writeln('Silahkan pilih salah satu pilihan di bawah

ini');

gotoxy(20,8);

writeln ('Jenis konversi');

gotoxy(20,9);

writeln ('1. Celcius ke Farenheit');

gotoxy(20,10);

writeln ('2. Celcius ke Kelvin');

gotoxy(20,11);

writeln ('3. Celcius ke Reamur');

gotoxy(20,12);

writeln ('4. Farenheit ke Celcius');

gotoxy(20,13);

writeln ('5. Farenheit ke Kelvin');

gotoxy(20,14);

writeln ('6. Farenheit ke Reamur');

gotoxy(20,15);

writeln ('7. Kelvin ke Celcius');

gotoxy(20,16);

writeln ('8. Kelvin ke Farenheit');

gotoxy(20,17);

writeln ('9. Kelvin ke Reamur');

gotoxy(20,18);

writeln ('10.Reamur ke Celcius');

gotoxy(20,19);

writeln ('11.Reamur ke Farenheit');

gotoxy(20,20);

writeln ('12.Reamur ke Kelvin');

gotoxy(20,22);

write('Nomor pilihan: ');

readln(pilihan);

val(pilihan,bil,cd);

if (cd<>0) then

begin

gotoxy(20,24);

writeln('Tolong masukkan angka!!');

end

else

begin

if ((bil >0) and (bil<13)) then

begin

if bil = 1 then

c2f (suhu)

Kode Program 4.26 Program Konversi Suhu (i)

Page 55: Tipe Data Dasar & Statemen Kontrol

TIPE DATA DASAR & STATEMEN KONTROL

PUTU RUSDI ARIAWAN

else if bil = 2 then

c2k(suhu)

else if bil = 3 then

c2r(suhu)

else if bil = 4 then

f2k(suhu)

else if bil = 5 then

f2c(suhu)

else if bil = 6 then

f2r(suhu)

else if bil = 7 then

k2c(suhu)

else if bil = 8 then

k2f(suhu)

else if bil = 9 then

k2r(suhu)

else if bil = 10 then

r2c(suhu)

else if bil = 11then

r2f(suhu)

else

r2k(suhu);

end

else

begin

gotoxy(20,23);

writeln('Masukkan pilihan antara 1 - 12');

end;

end;

writeln;

gotoxy(20,25);

write('Coba lagi(Y/N): ');

readln(jawab);

end;

end.

Kode Program 4.27 Program Konversi Suhu (j)

User Interface dan Uji Coba

4.4.1 Uji coba program konversi cek

Pada saat kita run program itu, maka akan keluar gambar seperti gambar

dibawah. Pada saat itu kita disuruh untuk memasukkan input.

Page 56: Tipe Data Dasar & Statemen Kontrol

TIPE DATA DASAR & STATEMEN KONTROL

PUTU RUSDI ARIAWAN

Gambar 4.28 Output Program Konversi Cek Sebelum Input

Setelah itu kita masukkan inputnya yang berupa angka yang nantinya akan

dikonversi

Gambar 4.29 Output Program Konversi Cek Pada Pemberian Input

Setelah kita enter maka akan keluar hasil dari konversi cek tersebut dan

perintah untuk mencoba lagi atau tidak. Seperrti pada gambar dibawah.

Gambar 4.30 Output Hasil Konversi Cek

Dari ilustrasi diatas program memerlukan masukan untuk diproses dan

ini dilakukan dengan memasukkan input angka. User mamasukkan input

„127500100‟. Program akan mengeksekusi input setelah user menekan „enter‟.

Hasil yang diperoleh yaitu membilang cek uang angka dengan membilang dalam

bentuk hurup „Seratus Dua Puluh Juta Lima Ratus Ribu Seratus Rupih‟. Apabila

user mencoba lagi dapat dilakukan dengan menekan „y‟ pada keyboard.

Page 57: Tipe Data Dasar & Statemen Kontrol

TIPE DATA DASAR & STATEMEN KONTROL

PUTU RUSDI ARIAWAN

Gambar 4.31 Output Program Konversi Cek Input Salah

Kekurangan dari program konversi cek ini adalah user tidak dapat

memproses nilai angka desimal. Jika hal ini dilakukan akan mendapat pesan

“Masukkan angka yang kurang dari satu miyar!”. Hal ini dapat diatasi dengan

memasukkan kembali input yang kurang dari satu milyar dan bukan desimal

karena variabel inputnya bertipe longint yaitu tipe data yang tidak menggandung

angka dibelakang koma.

4.4.2 Uji coba program konversi suhu

Pada saat kita run program itu, maka akan keluar gambar seperti gambar

dibawah. Pada saat itu kita disuruh untuk memasukkan pilihan. Pilihan itu dapat

dipilih sesuai dengan pilihan yang ada.

Gambar 4.32 Output Program Konversi Suhu Sebelum Input

Page 58: Tipe Data Dasar & Statemen Kontrol

TIPE DATA DASAR & STATEMEN KONTROL

PUTU RUSDI ARIAWAN

Masukkan pilihan, pilihan adalah 12 . Tekan enter lalu masukkan nilai

dari suhu yang di ubah, karena pilihannya 12 maka nilai tersebut berupa derajat

reamur yang nantinya akan diubah kedalam derajat kelvin, seperti terlihat pada

gambar dibawah.

Gambar 4.33Output Program Konversi Suhu Pada Pemberian Input

Tekan enter dan hasilnya akan keluar dan perintahuntuk mencoba lagi atau

tidak, seperti terlihat pada gambar dibawah

Page 59: Tipe Data Dasar & Statemen Kontrol

TIPE DATA DASAR & STATEMEN KONTROL

PUTU RUSDI ARIAWAN

Gambar 4.34 Output Program Konversi Suhu

Program memerlukan masukan untuk diproses dan ini dilakukan

dengan memasukkan input pilihan konversi dan nilai satuan suhu yang akn

dikonversi. User mamasukkan input „12‟. Program akan mengeksekusi input

setelah user menekan „enter‟. Pilihan user menginginkan konversi saturn suhu

Reamur menjadi Kelvin. Dengan memasukkan nilai suhu eamur sebesar „23‟

maka setelah menekan „enter‟ maka dapat diperoleh hasil konversi yang dimaksud

yaitu “Hasil konversi: 23 derajat Reamur = - 244,40 derajat Kelvin”. Apabila user

mencoba lagi dapat dilakukan dengan menekan „y‟ pada keyboard.

Page 60: Tipe Data Dasar & Statemen Kontrol

TIPE DATA DASAR & STATEMEN KONTROL

PUTU RUSDI ARIAWAN

Gambar 4.35 Output Program Konversi Cek Input Salah

Kekurangan dari program konversi suhu ini adalah user tidak dapat

memproses jika nilai satuan suhu dalam bentuk angka mengandung dua koma.

Jika hal ini dilakukan akan mendapat pesan “Masukkan angka”. Hal ini dapat

diatasi dengan memasukkan kembali input melalui “Masukkan nilai suhu dalam

derajat Reamur”.

Page 61: Tipe Data Dasar & Statemen Kontrol

TIPE DATA DASAR & STATEMEN KONTROL

PUTU RUSDI ARIAWAN

Simpulan

Dari pembahasan dan analisis dapat ditarik kesimpulan sebagai berikut ini:

a. Penggunaan tipe-tipe data disesuikan dengan kebutuhan dan jenis nilai

variabel sehingga penggunann memori komputer oleh program tersebut

dapat seefisien mungkin.

b. Penggunaan statement kontrol khususnya if...then, if...else... dan case...of

berguna jika kita dihadapkan pada permasalahan untuk mengmbil suatu

keputusan terhadap alternatif dari konsisi permasalahan dimana kondisi

dalam berada dalam bentuk ekspresi.

c. Statement if digunakan dalm permasalahan untuk mengbil suatu keputusan

terhadap dua alternatif. Pengambilan keputusan didasarkan oleh suatu

kondisi yang kita evaluasi apakah bernilai True atau False.

d. Statement case…of digunakan untuk menggambarkan adanya pemilihan

lebih dari satu dimana didalamnya terdapat banyak kondisi yang harus

dikerjakan. Statemant ini juga dapat dikatakan sebagai statement if

bertingkat.

e. Kekurangan dari program konversi cek ini adalah user tidak dapat

memproses nilai angka desimal. Jika hal ini dilakukan akan mendapat

pesan “Masukkan angka yang kurang dari satu miyar!”.

f. Kekurangan dari program konversi suhu ini adalah user tidak dapat

memproses jika nilai satuan suhu dalam bentuk angka mengandung dua

koma. Jika hal ini dilakukan akan mendapat pesan “Masukkan angka”.

Page 62: Tipe Data Dasar & Statemen Kontrol

TIPE DATA DASAR & STATEMEN KONTROL

PUTU RUSDI ARIAWAN

BIODATA PENULIS

Nama : Putu Rusdi Ariawan

TTL : Denpasar. 19 April 1990

Agama : Hindu

Mahasiswa Teknik Elektro Unv. Udayana

Email : [email protected]

www.facebook.com/turusdi