tipe data dan statement control
TRANSCRIPT
![Page 1: tipe data dan statement control](https://reader033.vdocuments.net/reader033/viewer/2022052307/5571facd497959916993261b/html5/thumbnails/1.jpg)
BAB IV
TIPE DATA DAN STATEMENT CONTROL
4.1 Tujuan
Tujuan dari pratikum tipe data dan statement control ini adalah:
1. Memahami dasar – dasar pemrograman pascal dan C++.
2. Memahami penggunaan statement control khususnya if…, if…else,
switch.
3. Memahami penggunaan tipe data yang digunakan secara efisien.
4. Memahami manipulasi string.
5. Memahami dan bisa membuat program modul – modul yang
berbentuk suatu fungsi.
6. Memahami dan bisa menggunakan passing parameter dalam fungsi
dan procedure.
4.2 Tinjauan Pustaka
4.2.1 Tipe Data Dalam Pascal
Tipe sebuah objek menentukkan himpunan nilai yang dapat dimilikinya
dan operasi yang dapat dilakukan pada objek tersebut. Tipe atau jenis data dalam
turbo pascal dapat dibagi menjadi 6, yaitu:
1. Tipe Simple
Tipe simple atau tipe sederhana adalah tipe yang dalam perubahannya
hanya dimungkinkan untuk menyimpan sebuah nilai data. Tipe simple ini dapat
dibagi lagi menjadi 2 bagian, yaitu:
a. Tipe Ordinal
Tipe ordinal merupakan suatu tipe yang mempunyai jumlah
kemungkinan data yang pasti. Dalam tipe data ordinal terdapat 9 tipe data
lagi, yaitu integer, shortint, longint, byte, word, boolean, char, subrange
dan enumerated. Tipe data subrange dan enumerated ini merupakan type
data yang dapat didefinisikan sendiri.
![Page 2: tipe data dan statement control](https://reader033.vdocuments.net/reader033/viewer/2022052307/5571facd497959916993261b/html5/thumbnails/2.jpg)
Tipe Integer
Tipe integer merupakan nama tipe dari bilangan bulat atau bilangan yang tidak
memiliki titik desimal. Tipe data yang termasuk di dalamnya adalah shortint,
integer, longint, byte dan word. Adapun jangkauan nilai dan ukuran memori dapat
dilihat pada tabel dibawah ini:
Tabel 4.1 Tipe Integer
Tipe Boolean
Tipe boolean merupakan nama tipe bilangan lojik. Nama boolean
ini diambil dari nama seorang matematikawan Inggris, George Boole.
Bilangan lojik hanya mengenal dua buah nilai, yakni benar (true) atau
salah (false). Nilai Boolean berfungsi untuk pengambilan keputusan
dalam suatu program. Pada Turbo Pascal terdapat empat macam tipe
data yang berkaitan dengan Boolean, yaitu:
Tabel 4.2 Tipe Boolean
Tipe Data RANGE Ukuran memory
Boolean Byte-sized 8 byte
ByteBool Byte-sized 8 byte
WordBool Word-sized 16 byte
LongBool Longint-sized 32 byte
Tipe Data Jangkauan Nilai Ukuran Memori
Shortint -128 s/d 127 1 byte
Integer -32.768 s/d 32.767 2 byte
Longint -2.147.483.648 s/d 2.147.483.647 4 byte
Byte 0 s/d 255 1 byte
Word 0 s/d 65.535 2 byte
![Page 3: tipe data dan statement control](https://reader033.vdocuments.net/reader033/viewer/2022052307/5571facd497959916993261b/html5/thumbnails/3.jpg)
Tipe Char
yang termasuk dalam tipe char adalah karakter tunggal atau sebuah
karakter yang ditulis dengan tanda petik tunggal, misalnya
‘A’,’a’,’!’,’5’ dsb. Jenis data ini memerlukan alokasi data memori
sebesar 1 byte untuk masing-masing data.
Tipe Subrange (sub-jangkauan)
Tipe Subrange (sub-jangkauan) merupakan suatu tipe yang
menyatakan jangkauan nilai suatu tipe yang sudah ada. Jangkauan
nilainya ditentukan dari nilai terkecil dan nilai terbesar. Antara nilai
terkecil dan nilai terbesar dipisahkan oleh tanda subjangkauan (..).
Subjangkauan hanya dapat diterapkan pada semua tipe data ordinal.
Contoh:
Kode program 4.1 Tipe Subrange
Tipe Enumerated
Tipe enumerated disebut juga nilai terbilang karena pada tipe ini
semua nilai disebut satu per satu dan ditempatkan didalam kurung.
Contoh:
Kode program 4.2 Tipe Enumerated
b. Tipe Real
TYPENilaiBulan: 1..12; {subjangkauan dari integer}
TYPESistemOperasi=(UNIX,MS_DOS,OS_2,WINDOWS_NT,WINDOWS)
![Page 4: tipe data dan statement control](https://reader033.vdocuments.net/reader033/viewer/2022052307/5571facd497959916993261b/html5/thumbnails/4.jpg)
Tipe real merupakan tipe bilangan yang mengandung pecahan
desimal. Dalam pemakaiannya pangkat bilangan dasar 10 (yang
digunakan untuk menunjukkan eksponensial) dinyatakan dengan
notasi E. contoh: 0.00123456 menjadi 1.23456 E-3. Dalam turbo
pascal terdapat 5 buah tipe real.
Tabel 4.3 Tipe Real
Tipe Data Jangkauan NilaiKetelitian
(digit)
Ukuran
Memori
Real 2.9 x 10E-39…1.7 x 10E38 11 – 12 6 byte
Single 1.5 x 10E-45…3.4 x 10E38 7 – 8 4 byte
double 5.0 x 10E-324…1.7 x 10E308 15 – 16 8 byte
extended 1.9 x 10E-4951…1.1 x 10E4932 19 – 20 10 byte
comp -2E63 + 1…2E63 – 1 19 – 20 8 byte
2. Tipe String
String merupakan kumpulan dari beberapa karakter yang panjangnya tidak
boleh melebihi 255 karakter dan diapit oleh tanda petik tunggal, contoh
‘ABCDEF’
3. Tipe Structure
Dalam tipe Structure setiap perubah bisa menyimpan lebih dari sebuah
nilai data. Ukuran tipe data terstruktur dalam Turbo Pascal maksimum 65520.
Tipe data ini dapat dibagi menjadi empat, yaitu tipe array, tipe record, tipe set dan
tipe file.
a. Tipe Array
Tipe data array atau biasa disebut larik merupakan tipe data terstruktur
yang berfungsi untuk menyimpan sejumlah data yang bertipe sama. Array
juga dapat menampung beberapa data yang nilainya sama. Bagian yang
menyusun array dinamakan elemen array. Masing-masing elemen dapat
diakses tersendiri, melalui indeks array, contoh:
Kode Program 4.3 Tipe Array
TYPETabelNilai = ARRAY[1..5] OF Byte;TabelHuruf = ARRAY[1..26] OF Char;
![Page 5: tipe data dan statement control](https://reader033.vdocuments.net/reader033/viewer/2022052307/5571facd497959916993261b/html5/thumbnails/5.jpg)
b. Tipe Record
Sama halnya dengan larik, rekaman (record) adalah sekumpulan data.
Perbedaannya adalah bahwa dalam larik semua elemennya harus bertipe
sama, tetapi dalam record setiap elemen bisa mempunyai tipe data yang
berbeda satu sama lain.Sebuah Record dapat berisi komponen bilangan
atau field, contoh:
Kode Program 4.4 Tipe Record
Dengan mendeklarasikan seperti di atas, Barang akan mengandung tiga
buah field, yaitu Nama, Kualitas dan Harga.
c. Tipe Set
Tipe data set atau himpunan adalah koleksi dari sejumlah nilai yang
bertipe sama dan sifatnya tidak ada data yang kembar. Pada Turbo Pascal,
anggota dari suatu himpunan terbatas pada data ordinal yang nilai
ordinalnya terletak antara 0 sampai dengan 255.
d. Tipe File
Berkas (file) adalah kumpulan sejumlah komponen yang bertipe data
sama, yang jumlahnya tidak tertentu dan biasanya tersimpan dalam dalam
suatu media penyimpan luar.
4. Tipe Pointer
Semua tipe data yang telah dijelaskan di atas, apabila digunakan untuk
mendeklarasikan suatu perubah, maka sifat perubah tersebut adalah
perubah yang statis. Pascal dilengkapi dengan fasilitas yang
memungkinkan pemakai untuk menggunakan perubah yang bersifat
dinamis, yang juga disebut pointer. Tipe pointer adalah tipe yang berisi
alamat memori dan berlambang ^.
TYPERecBarang = RECORD
Nama : STRINGKualitas : Char;
Harga : LongInt END;
VARBarang : RecBarang;
![Page 6: tipe data dan statement control](https://reader033.vdocuments.net/reader033/viewer/2022052307/5571facd497959916993261b/html5/thumbnails/6.jpg)
5. Tipe Prosedural
Procedure dan Function adalah bagian dari Pascal dalam membuat
program. Melalui Tipe Procedural, maka anda dapat memperlakukan
Procedure dan Function sebagai objek sehingga dapat dimasukkan ke
dalam sebuah variable dan parameter. Hasil function haruslah berupa
String, Real, Integer, Char, Boolean atau Pointer.
6. Tipe Object
Tipe objek adalah data berstruktur yang berisi komponen bilangan
fixed. Bentuk umum dari tipe object yaitu:
Kode Program 4.5 Tipe Object
4.2.2 Statement Control
Selection (pemilihan) dalam pascal digunakan untuk mengontrol jalannya
program agar dapat melakukan pemilihan dari sekian banyak pilihan yang ada.
Dalam pascal, terdapat 3 buah struktur selection, yaitu if, if…else, dan switch.
1. If
statement if digunakan untuk pemilihan kondisi analisis dalam satu
kasus.sintaks dari statement if adalah IF kondisi THEN. Dan
flowchartnya dapat digambarkan sebagai berikut:
ObjectField;Field;…Method;Method;
![Page 7: tipe data dan statement control](https://reader033.vdocuments.net/reader033/viewer/2022052307/5571facd497959916993261b/html5/thumbnails/7.jpg)
Gambar 4.1 Flowchart Statement Control If
Contoh penggunaan if:
Kode Program 4.6 Statement Control IF
2. If… else
Statement if…else digunakan apabila statement yang akan dilakukan lebih
dari satu. sintaks sederhana statement ini adalah :
If kondisi ThenBegin statement 1;End Else Begin statement 2; End.
Kode Program 4.7 Statement Control If…Else
Dan flowchartnya:
Program nilai;Uses WinCrt;Var nilai : Real;Begin
ClrScr;Write(‘nilai ujian : ’);ReadLn(nilai);If nilai >= 55 then WriteLn(‘lulus’);WriteLn(‘Selesai’);
End.
![Page 8: tipe data dan statement control](https://reader033.vdocuments.net/reader033/viewer/2022052307/5571facd497959916993261b/html5/thumbnails/8.jpg)
Contoh penggunaan if... else:
Kode Program 4.8 Statement Control If… Else
3. Case…of
Merupakan alternative dari pernyataan if untuk masalah dengan pilihan
berganda. Pada masalah tertentu, case lebih memberikan kejelasan
daripada IF. Namun, persoalan yang dapat ditangani oleh CASE dapat
ditangani oleh IF, namun tidak sebaliknya. Sintaks dari case…of adalah :
Gambar 4.2 Flowchart Statement Control If… else
Program nilai;
Uses wincrt;
Var
Nilai : byte;
Kte : string[5];
Begin
Writeln(‘Masukkan nilai :’);
Readln(Nilai);
If Nilai < 40 then
Ket := ‘E’
Else if Nilai < 55 then
Ket := ‘D’
Else if Nilai < 65 then
Ket := ‘C’
Else if Nilai < 80 then
Ket := ‘B’
Else Ket := ‘A’;
Writeln;
Writeln(‘keterangan hasil : ’,Ket);
End.
Case ungkapan of
Daftar label 1 : statement 1; Daftar label 2 : statement 2; Daftar label 3 : statement 3; Daftar label 4 : statement 4; ……………………………
Else statement 5;End;
![Page 9: tipe data dan statement control](https://reader033.vdocuments.net/reader033/viewer/2022052307/5571facd497959916993261b/html5/thumbnails/9.jpg)
Kode Program 4.9 Statement Control Case… Of
Dan flowchartnya:
Contoh dari penggunaan case…of:
Gambar 4.3 Flowchart Statement Control Case… Of
Program hargatiket;Uses wincrt;Var Tiket : char; Harga : string[12];Begin Write(‘Masukkan jenis tiket yg ingin dibeli: ’); Readln(Tiket); Case Tiket of A : Harga := Rp 150000; B : Harga := Rp 100000; C : Harga := Rp 75000; D : Harga := Rp 50000; Else Harga := Rp 40000; End; Writeln; Write(‘Harga tiket yang anda pilih adalah: ’); Writeln(harga);End.
![Page 10: tipe data dan statement control](https://reader033.vdocuments.net/reader033/viewer/2022052307/5571facd497959916993261b/html5/thumbnails/10.jpg)
Kode Program 4.10 Statement Control Case… Of
4.2.3 Passing Parameter
Passing parameter adalah program akan berjalan bila parameter yang
dibuat benar dan untuk kemudian dipanggil untuk dijalankan. Passing parameter
dibagi menjadi dua yaitu:
1. Pass By Value
Pass By Value adalah suatu prosedur yang hanya mempunyai
parameter input atau parameter nilai. Adapun ciri dari Pass By Value
adalah:
a. Harga parameter aktual disalin kedalam parameter formal, semua
acuan ke parameter formal tidak ada hubungan kedalam parameter
aktual.
b. Jika harga parameter formal diubah, tidak mempengaruhi harga
parameter aktual ketika pemanggilan dilakukan.
c. Berguna untuk melindungi parameter aktual dari efek perubahan harga
yang tidak diinginkan.
d. Dipakai jika mengannggap parameter aktual sebagai masukan modul
yang dipanggil.
Adapun contoh program yang menggunakan Pass By Value:
Program pass_by_value;Uses wincrt;var i : integer;procedure pass_nilai(j: integer); begin J := j + 1; writeln(‘j = ‘, j); end; begin i := 6; writeln(‘i = ‘, i); pass_nilai(i); writeln(‘i = ‘, i); end.
![Page 11: tipe data dan statement control](https://reader033.vdocuments.net/reader033/viewer/2022052307/5571facd497959916993261b/html5/thumbnails/11.jpg)
Kode Program 4.11 Pass By Value
Dari program diatas didapatkan nilai i dan j sebesar:
i= 6
j= 7
i= 6
Nilai i tidak berubah meskipun sewaktu menjadi parameter aktual. Dalam
prosedur pass_nilai, variabel i menggantikan variabel j pada parameter
formal.
2. Pass By Reference
Pass By Reference adalah pemanggilan prosedur yang mempunyai
parameter output atau parameter variabel. Adapun ciri dari Pass By
Reference yaitu:
Pada waktu modul dipanggil untuk di eksekusi , alamat dari parameter
actual dikomunikasikan ke parameter formal.
Setiap acuan terhadap parameter formal dialihkan terhadap alamat
tersebut.
Perubahan harga pada parameter formal berakibat terhadap parameter
aktual karena diajukan ke alamat yang sama.
Dipakai jika parameter aktual dianggap sebagai keluaran yang
dihasilkan oleh modul dan dikembalikan ke modul yang
memanggilnya.
Adapun contoh program yang menggunakan Pass By Reference:
Program pass_by_reference;Uses wincrt;var
i : integer;
procedure pass_ref (var j: integer);begin
j := j + 1 writeln (‘j = ‘, j); end; begin i := 6; writeln (‘i = ‘, i); pass_ref (i); writeln (‘i = ‘, i); end.
![Page 12: tipe data dan statement control](https://reader033.vdocuments.net/reader033/viewer/2022052307/5571facd497959916993261b/html5/thumbnails/12.jpg)
Kode Program 4.12 Pass By Reference
Sehingga didapatkan output keluarannya sebesar:
i =6
j =7
i =7
4.3 Pembahasan dan Analisa
4.3.1 Program Konversi Cek
4.3.1.1 Penjelasan Fungsi dan Procedure Dalam Program Konversi Cek
Pada program konversi cek ini kami menggunakan 3 buah function, yaitu:
a. Fungsi yang pertama yaitu function ratusan.
function ratusan (uang : longint) : longint;begin rat := uang div 100; sisa_rat := uang mod 100; case rat of 0: angka_rat := ''; 1: angka_rat := ' seratus'; 2: angka_rat := ' dua ratus'; 3: angka_rat := ' tiga ratus'; 4: angka_rat := ' empat ratus'; 5: angka_rat := ' lima ratus'; 6: angka_rat := ' enam ratus'; 7: angka_rat := ' tujuh ratus'; 8: angka_rat := ' delapan ratus'; 9: angka_rat := ' sembilan ratus'; end; pul := sisa_rat div 10; sisa_pul := sisa_rat mod 10; if pul = 1 then begin case sisa_pul of 0: angka_sat := ' sepuluh'; 1: angka_sat := ' sebelas'; 2: angka_sat := ' dua belas'; 3: angka_sat := ' tiga belas'; 4: angka_sat := ' empat belas'; 5: angka_sat := ' lima belas'; 6: angka_sat := ' enam belas'; 7: angka_sat := ' tujuh belas'; 8: angka_sat := ' delapan belas'; 9: angka_sat := ' sembilan belas'; end; write (angka_rat,angka_sat); end else if pul<>1 then begin case pul of
![Page 13: tipe data dan statement control](https://reader033.vdocuments.net/reader033/viewer/2022052307/5571facd497959916993261b/html5/thumbnails/13.jpg)
Kode Program 4.13 Fungsi Ratusan
0: angka_pul := ''; 2: angka_pul := ' dua puluh'; 3: angka_pul := ' tiga puluh'; 4: angka_pul := ' empat puluh'; 5: angka_pul := ' lima puluh'; 6: angka_pul := ' enam puluh'; 7: angka_pul := ' tujuh puluh';
8: angka_sat := ' delapan belas'; 9: angka_sat := ' sembilan belas'; end; write (angka_rat,angka_sat); end else if pul<>1 then begin case pul of 0: angka_pul := ''; 2: angka_pul := ' dua puluh'; 3: angka_pul := ' tiga puluh'; 4: angka_pul := ' empat puluh'; 5: angka_pul := ' lima puluh'; 6: angka_pul := ' enam puluh'; 7: angka_pul := ' tujuh puluh'; 8: angka_pul := ' delapan puluh'; 9: angka_pul := ' sembilan puluh'; end; sisa_pul:=sisa_rat mod 10; case sisa_pul of 0: angka_sat := ''; 1: angka_sat := ' satu'; 2: angka_sat := ' dua'; 3: angka_sat := ' tiga'; 4: angka_sat := ' empat'; 5: angka_sat := ' lima'; 6: angka_sat := ' enam'; 7: angka_sat := ' tujuh'; 8: angka_sat := ' delapan'; 9: angka_sat := ' sembilan'; end; write (angka_rat,angka_pul,angka_sat); end;end;
![Page 14: tipe data dan statement control](https://reader033.vdocuments.net/reader033/viewer/2022052307/5571facd497959916993261b/html5/thumbnails/14.jpg)
b. Fungsi yang kedua yaitu function ribuan
Kode Program 4.14 Fungsi Ribuan
c. Fungsi yang ketiga adalah function jutaan
Kode Program 4.15 Fungsi Jutaan
4.3.1.2 Algoritma
a. Algoritma Fungsi Ratusan
1. Mulai
2. ”Rat” diisi dengan ”uang” div 100
function ribuan (uang : longint) : longint;begin rib:=uang div 1000; sisa_rib:=uang mod 1000; if rib=1 then begin write (' seribu'); end else if rib>1 then begin ratusan(rib); write (' ribu'); end; ratusan(sisa_rib);end;
function jutaan (uang : longint) : longint;begin jut:=uang div 1000000; sisa_jut:= uang mod 1000000; ratusan(jut); if jut = 0 then begin write (''); end else write ('juta'); ribuan(sisa_jut);end;
![Page 15: tipe data dan statement control](https://reader033.vdocuments.net/reader033/viewer/2022052307/5571facd497959916993261b/html5/thumbnails/15.jpg)
3. ”sisa_rat” diisi dengan ”uang” mod 100
4. Bila ”rat” = 0, ”angka_rat” tidak diisi apa-apa
5. Bila ” rat” =1, ”angka_rat” diisi dengan ’ seratus’
6. Bila ” rat” =2, ”angka_rat” diisi dengan ’ dua ratus’
7. Bila ” rat” =3, ”angka_rat” diisi dengan ’ tiga ratus’
8. Bila ” rat” =4, ”angka_rat” diisi dengan ’ empat ratus’
9. Bila ” rat” =5, ”angka_rat” diisi dengan ’ lima ratus’
10. Bila ” rat” =6, ”angka_rat” diisi dengan ’ enam ratus’
11. Bila ” rat” =7, ”angka_rat” diisi dengan ’ tujuh ratus’
12. Bila ” rat” =8, ”angka_rat” diisi dengan ’ delapan ratus’
13. Bila ” rat” =9, ”angka_rat” diisi dengan ’ sembilan ratus’
14. ”pul” diisi dengan ”sisa_rat” div 10
15. ”sisa_pul” diisi dengan ”sisa_rat” mod 10
16. Jika ”pul”=1 maka
17. Bila ”sisa_pul” = 0, ”angka_sat” diisi dengan ’ sepuluh’
18. Bila ” sisa_pul” =1, ”angka_sat” diisi dengan ’ sebelas’
19. Bila ” sisa_pul” =2, ”angka_sat” diisi dengan ’ dua belas’
20. Bila ” sisa_pul” =3, ”angka_sat” diisi dengan ’ tiga belas’
21. Bila ” sisa_pul” =4, ”angka_sat” diisi dengan ’ empat belas’
22. Bila ” sisa_pul” =5, ”angka_sat” diisi dengan ’ lima belas’
23. Bila ” sisa_pul” =6, ”angka_sat” diisi dengan ’ enam belas’
24. Bila ” sisa_pul” =7, ”angka_sat” diisi dengan ’ tujuh belas’
25. Bila ” sisa_pul” =8, ”angka_sat” diisi dengan ’ delapan belas’
26. Bila ” sisa_pul” =9, ”angka_sat” diisi dengan ’ sembilan belas’
27. Setelah itu cetak (angka_rat, angka_sat)
28. Jika ”pul”selain 1 maka
29. Bila ”pul” = 0, ”angka_pul” tidak diisi apa-apa
30. Bila ”pul” =2, ”angka_pul” diisi dengan ’ dua puluh’
31. Bila ”pul” =3, ”angka_pul” diisi dengan ’ tiga puluh’
32. Bila ”pul” =4, ”angka_pul” diisi dengan ’ empat puluh’
33. Bila ”pul” =5, ”angka_pul” diisi dengan ’ lima puluh’
![Page 16: tipe data dan statement control](https://reader033.vdocuments.net/reader033/viewer/2022052307/5571facd497959916993261b/html5/thumbnails/16.jpg)
34. Bila ”pul” =6, ”angka_pul” diisi dengan ’ enam puluh’
35. Bila ”pul” =7, ”angka_pul” diisi dengan ’ tujuh puluh’
36. Bila ”pul” =8, ”angka_pul” diisi dengan ’ delapan puluh’
37. Bila ”pul” =9, ”angka_pul” diisi dengan ’ sembilan puluh’
38. Bila ”sisa_pul” = 0, ”angka_sat” tidak diisi apa-apa
39. Bila ” sisa_pul” =1, ”angka_sat” diisi dengan ’ satu’
40. Bila ” sisa_pul” =2, ”angka_sat” diisi dengan ’ dua’
41. Bila ” sisa_pul” =3, ”angka_sat” diisi dengan ’ tiga’
42. Bila ” sisa_pul” =4, ”angka_sat” diisi dengan ’ empat’
43. Bila ” sisa_pul” =5, ”angka_sat” diisi dengan ’ lima’
44. Bila ” sisa_pul” =6, ”angka_sat” diisi dengan ’ enam’
45. Bila ” sisa_pul” =7, ”angka_sat” diisi dengan ’ tujuh’
46. Bila ” sisa_pul” =8, ”angka_sat” diisi dengan ’ delapan’
47. Bila ” sisa_pul” =9, ”angka_sat” diisi dengan ’ sembilan’
48. Setelah itu cetak (angka_rat, angka_pul, angka_sat)
49. Selesai
b. Algoritma Fungsi Ribuan
1. Mulai
2. ”rib” diisi dengan ”uang” div 1000
3. ”sisa_rib” diisi dengan ”uang” mod 1000
4. Jika ”rib” = 1 maka cetak (’ seribu’)
5. Jika ”rib” > 1 maka
6. Panggil fungsi ”ratusan” dengan mengganti variabel ”ratusan” dengan
”rib” kemudian cetak (’ seribu’)
7. Panggil fungsi ”ratusan” dengan mengganti variabel ”ratusan” dengan
”sisa_rib”
8. Selesai
c. Algoritma Fungsi Juta
1. Mulai
![Page 17: tipe data dan statement control](https://reader033.vdocuments.net/reader033/viewer/2022052307/5571facd497959916993261b/html5/thumbnails/17.jpg)
2. ”jut” diisi dengan ”uang” div 1000000
3. ”sisa_jut” diisi dengan ”uang” mod 1000000
4. Panggil fungsi ”ratusan” dengan mengganti variabel ”ratusan” dengan
”jut”
5. Jika ”jut” selain 0 maka cetak (’ juta’)
6. Panggil fungsi ”ribuan” dengan mengganti variabel ”ribuan” dengan
”sisa_jut”
7. Selesai
d. Algoritma Program Utama
1. Mulai
2. Masukkan uang anda (maksimal 999999999) dan disimpan di variabel
”uang”
3. Jika ”rupiah” kurang dari atau sama dengan 0 maka input yang anda
masukkan salah.
4. Jika ”rupiah” lebih dari 999999999 maka input yang anda masukkan
salah
5. Jika ”rupiah” <= 100 maka panggil fungsi ”ratusan” dan tulis
(’rupiah’)
6. Jika ”rupiah” <= 1000 maka panggil fungsi ”ribuan” dan tulis
(’rupiah’)
7. Jika ”rupiah” < 1000000000 maka panggil fungsi ”jutaan” dan tulis
(’rupiah’)
8. Percabangan menentukan apakah anda ingin mengulang atau tidak.
Jika ya kembali ke langkah 2 jika tidak program akan berheti.
![Page 18: tipe data dan statement control](https://reader033.vdocuments.net/reader033/viewer/2022052307/5571facd497959916993261b/html5/thumbnails/18.jpg)
4.3.1.3 Flowchart
a. Flowchart Fungsi Ratusan
![Page 19: tipe data dan statement control](https://reader033.vdocuments.net/reader033/viewer/2022052307/5571facd497959916993261b/html5/thumbnails/19.jpg)
Angka rat ‘seratus’
Angka rat ‘dua ratus’
Angka rat ‘tiga ratus’
Angka rat ‘empat ratus’
Angka rat ‘lima ratus’
Angka rat ‘enam ratus’
Angka rat ‘Tujuh ratus’
Angka rat ‘Delapan ratus’
Angka rat ‘Sembilan ratus’
Gambar 4.4 Flowchart Fungsi Ratusan (a)
1
![Page 20: tipe data dan statement control](https://reader033.vdocuments.net/reader033/viewer/2022052307/5571facd497959916993261b/html5/thumbnails/20.jpg)
Angka sat ‘sepuluh’
Angka sat ‘sebelas’
Angka sat ‘tiga belas’
Angka sat ‘empat belas’
Angka sat ‘lima belas’
Angka sat ‘enam belas’
Angka sat ‘tujuh belas’
Angka sat ‘delapan belas’
Angka_sat ‘seembilan bebelas’
3
Pul <> 1 Pul = 0
Pul = 2
TIDAK
YAAngka_pul ← ‘’
Angka_pul ← ‘dua puluh’YA
TIDAK
YA
Gambar 4.5 Flowchart Fungsi Ratusan (b)
Angka sat ‘duabelas’
![Page 21: tipe data dan statement control](https://reader033.vdocuments.net/reader033/viewer/2022052307/5571facd497959916993261b/html5/thumbnails/21.jpg)
4
Sisa_pul ← Sisa_rat MOD 10
Sisa_pul = 0 YA
TIDAK
Angka_sat ← ‘’
Gambar 4.6 Flowchart Fungsi Ratusan (c)
![Page 22: tipe data dan statement control](https://reader033.vdocuments.net/reader033/viewer/2022052307/5571facd497959916993261b/html5/thumbnails/22.jpg)
b. Flowchart Fungsi RibuanGambar 4.7 Flowchart Fungsi Ratusan (d)
OUTPUT Angka_rat_Angka_pul,Angka_sat
![Page 23: tipe data dan statement control](https://reader033.vdocuments.net/reader033/viewer/2022052307/5571facd497959916993261b/html5/thumbnails/23.jpg)
START
Rib ← uang DIV 1000Sisa_rib ← uang MOD 1000
Rib = 1 YA
TIDAK
OUTPUT‘Seribu’
Rib > 1
RATUSAN
YA
TIDAK
OUTPUT‘ ribu’
RATUSAN
STOP
Gambar 4.8 Flowchart Function Ribuan
c. Flowchart Fungsi Jutaan
![Page 24: tipe data dan statement control](https://reader033.vdocuments.net/reader033/viewer/2022052307/5571facd497959916993261b/html5/thumbnails/24.jpg)
Gambar 4.9 Flowchart Function Jutaan
d. Flowchart Program Utama
START
Jut ← uang DIV 1000000
Sisa_jut ← uang MOD 1000000
RATUSAN
Jut = 0
OUTPUT
‘ ’
OUTPUT
‘ juta ’
RIBUAN
STOP
YA
TIDAK
![Page 25: tipe data dan statement control](https://reader033.vdocuments.net/reader033/viewer/2022052307/5571facd497959916993261b/html5/thumbnails/25.jpg)
Gambar 4.10 Flowchart Program Utama Konversi Cek
4.3.1.4 Tracing Program Konversi Cek
START
INPUT
Uang
Uang >= 0 and Uang <=100YA
TIDAK
RATUSAN
Uang <= 1000 YA
RIBUAN
TIDAK
Uang< 1000000000YA
JUTAAN
TIDAK
Coba lagi?
TIDAK
STOP
YAX
X
Unag<>0
![Page 26: tipe data dan statement control](https://reader033.vdocuments.net/reader033/viewer/2022052307/5571facd497959916993261b/html5/thumbnails/26.jpg)
Setelah selesai membuat flowchart, kita dapat melakukan uji coba
program tersebut dengan tracing.
Input : Uang : 270
Process :Rat : 2Sisa_rat : 70Pul : 7Sisa_pul: 0Rib : 0Sisa_rib: 270Jut :Sisa_jut :Angka_rat : Dua ratusAngka_sat : Angka_pul : Tujuh Puluh
Output :Angka_rat : Dua ratus Angka_sat :Angka_pul :Tujuh Puluh
Tabel 4.4 Tracing Program Konversi Cek
4.3.1.5 Listing Program Konversi Cek
Setelah selesai membuat flowchart dan tracenya. Kita dapat membuat
programnya yaitu sebagai berikut:
program KonversiCek;uses wincrt;var sisa_rat, sisa_pul, sisa_rib, sisa_jut, sisa_mil : longint; rat, pul, rib, jut, mil, rupiah : longint; uang, angka_rat, angka_sat, angka_pul : string; kode : Integer;function ratusan (uang : longint) : longint;begin rat := uang div 100; sisa_rat := uang mod 100; case rat of 0: angka_rat := ''; 1: angka_rat := ' seratus'; 2: angka_rat := ' dua ratus'; 3: angka_rat := ' tiga ratus'; 4: angka_rat := ' empat ratus'; 5: angka_rat := ' lima ratus'; 6: angka_rat := ' enam ratus'; 7: angka_rat := ' tujuh ratus'; 8: angka_rat := ' delapan ratus'; 9: angka_rat := ' sembilan ratus'; end; pul := sisa_rat div 10; sisa_pul := sisa_rat mod 10; if pul = 1 then
![Page 27: tipe data dan statement control](https://reader033.vdocuments.net/reader033/viewer/2022052307/5571facd497959916993261b/html5/thumbnails/27.jpg)
4: angka_rat := ' empat ratus'; 5: angka_rat := ' lima ratus'; 6: angka_rat := ' enam ratus'; 7: angka_rat := ' tujuh ratus'; 8: angka_rat := ' delapan ratus'; 9: angka_rat := ' sembilan ratus'; end; pul := sisa_rat div 10; sisa_pul := sisa_rat mod 10; if pul = 1 then
function ribuan (uang : longint) : longint;begin rib:=uang div 1000; sisa_rib:=uang mod 1000; if rib=1 then begin write (' seribu'); end else if rib>1 then
![Page 28: tipe data dan statement control](https://reader033.vdocuments.net/reader033/viewer/2022052307/5571facd497959916993261b/html5/thumbnails/28.jpg)
function ribuan (uang : longint) : longint;begin rib:=uang div 1000; sisa_rib:=uang mod 1000; if rib=1 then begin write (' seribu'); end else if rib>1 then
if rupiah > 999999999 then begin write ('uang yang anda masukan salah! maksimal uang yang anda masukkan adalah 999999999'); end else if Rupiah >0 then begin if Rupiah <=100 then begin
![Page 29: tipe data dan statement control](https://reader033.vdocuments.net/reader033/viewer/2022052307/5571facd497959916993261b/html5/thumbnails/29.jpg)
Kode Program 4.16 Listing Program Konversi Cek
4.3.2 Program Konversi Suhu
4.3.2.1 Penjelasan Fungsi dan Procedure Dalam Program Konversi Suhu
Pada program konversi suhu ini, kami menggunakan statement control
Case… Of pada program utamanya dan menggunakan 12 function.
Adapun penjelasan function pada program konversi suhu ini yaitu
sebagai berikut:
a. Function F ke C
if rupiah > 999999999 then begin write ('uang yang anda masukan salah! maksimal uang yang anda masukkan adalah 999999999'); end else if Rupiah >0 then begin if Rupiah <=100 then begin
![Page 30: tipe data dan statement control](https://reader033.vdocuments.net/reader033/viewer/2022052307/5571facd497959916993261b/html5/thumbnails/30.jpg)
Fungsi ini merupakan Fungsi untuk menghitung atau mengkonversi
suhu dari Fahrenheit ke Celcius. Fungsi diatas menggunakan 1 buah
parameter, yakni T yang bertipe real.
Kode Program 4.16 Function F ke C
b. Function F ke R
Fungsi ini merupakan Fungsi untuk menghitung atau mengkonversi
suhu dari Fahrenheit ke Reamur. Fungsi diatas menggunakan 1 buah
parameter, yakni T yang bertipe real.
Kode Program 4.17 Function F ke R
c. Function F ke K
Fungsi ini merupakan Fungsi untuk menghitung atau mengkonversi
suhu dari Fahrenheit ke Kelvin. Fungsi diatas menggunakan 1 buah
parameter, yakni T yang bertipe real.
Kode Program 4.18 Function F ke K
d. Function C ke F
Fungsi ini merupakan Fungsi untuk menghitung atau mengkonversi
suhu dari Celcius ke Fahrenheit. Fungsi diatas menggunakan 1 buah
parameter, yakni T yang bertipe real.
function F_ke_C (T:real):real;beginF_ke_C :=5/9*(T-32);end
function F_ke_R (T:real):real;begin F_ke_R :=4/9*(T-32);end
function F_ke_K (T:real):real;begin F_ke_C(T) + 273;end
function C_ke_F (T:real):real;begin C_ke_F := 9/5*T+32;end;
![Page 31: tipe data dan statement control](https://reader033.vdocuments.net/reader033/viewer/2022052307/5571facd497959916993261b/html5/thumbnails/31.jpg)
Kode Program 4.19 Function C ke F
e. Function C ke R
Fungsi ini merupakan Fungsi untuk menghitung atau mengkonversi
suhu dari Celcius ke Reamur. Fungsi diatas menggunakan 1 buah
parameter, yakni T yang bertipe real.
Kode Program 4.20 Function C ke R
f. Function C ke K
Fungsi ini merupakan Fungsi untuk menghitung atau mengkonversi
suhu dari Celcius ke Kelvin. Fungsi diatas menggunakan 1 buah
parameter, yakni T yang bertipe real.
Kode Program 4.21 Function C ke K
g. Function R ke F
Fungsi ini merupakan Fungsi untuk menghitung atau mengkonversi
suhu dari Reamur ke Fahrenheit. Fungsi diatas menggunakan 1 buah
parameter, yakni T yang bertipe real.
Kode Program 4.22 Function R ke F
h. Function R ke C
function C_ke_R (T:real):real;begin C_ke_R:= 4/5*T;end;
function C_ke_K (T:real):real;begin C_ke_K:= T + 273;end;
function R_ke_F (T:real):real;begin R_ke_F := 9/4*T+32;end;
![Page 32: tipe data dan statement control](https://reader033.vdocuments.net/reader033/viewer/2022052307/5571facd497959916993261b/html5/thumbnails/32.jpg)
Fungsi ini merupakan Fungsi untuk menghitung atau mengkonversi
suhu dari Reamur ke Celcius. Fungsi diatas menggunakan 1 buah
parameter, yakni T yang bertipe real.
Kode Program 4.23 Function R ke C
i. Function R ke K
Fungsi ini merupakan Fungsi untuk menghitung atau mengkonversi
suhu dari Reamur ke Kelvin. Fungsi diatas menggunakan 1 buah
parameter, yakni T yang bertipe real.
Kode Program 4.24 Function R ke K
j. Function K ke C
Fungsi ini merupakan Fungsi untuk menghitung atau mengkonversi
suhu dari Kelvin ke Celcius. Fungsi diatas menggunakan 1 buah
parameter, yakni T yang bertipe real.
Kode Program 4.25 Function K ke C
k. Function K ke F
Fungsi ini merupakan Fungsi untuk menghitung atau mengkonversi
suhu dari Kelvin ke Farenheit. Fungsi diatas menggunakan 1 buah
parameter, yakni T yang bertipe real.
function R_ke_C (T:real):real;begin R_ke_C := 5/4*T;end;
function R_ke_K (T:real):real;begin R_ke_K := R_ke_C (T) +273;end;
function K_ke_C (T:real):real;begin K_ke_C := T-273; end;
function K_ke_F (T:real):real;begin K_ke_F := (K_ke_C(T)*9/5*T+32);end;
![Page 33: tipe data dan statement control](https://reader033.vdocuments.net/reader033/viewer/2022052307/5571facd497959916993261b/html5/thumbnails/33.jpg)
Kode Program 4.26 Function K ke F
l. Function K ke R
Fungsi ini merupakan Fungsi untuk menghitung atau mengkonversi
suhu dari Kelvin ke Reamur. Fungsi diatas menggunakan 1 buah
parameter, yakni T yang bertipe real.
Kode Program 4.26 Function K ke R
4.3.2.1 Algoritma
a. Algoritma Function F ke C
1. Start
2. Persiapan, T=real
3. Deklarasi konversi suhu F ke C= 5/9*(T-32)
4. Stop
b. Algoritma Function F ke R
1. Start
2. Persiapan, T=real
3. Deklarasi konversi suhu F ke R= (4/9*(T-32))
4. Stop
c. Algoritma Function F ke K
1. Start
2. Persiapan, T=real
3. Deklarasi konversi suhu F ke K= (5/9*(T-32))+273
4. Stop
function K_ke_R (T:real):real;begin K_ke_R :=4/5*K_ke_C(T);end;
![Page 34: tipe data dan statement control](https://reader033.vdocuments.net/reader033/viewer/2022052307/5571facd497959916993261b/html5/thumbnails/34.jpg)
d. Algoritma Function C ke F
1. Start
2. Persiapan, T= real
3. Deklarasi konversi suhu C ke F=(9/5*T)+32
4. Stop
e. Algoritma Function C ke R
1. Start
2. Persiapan, T = real
3. Deklarasi konversi suhu C ke R=4/5*T
4. Stop
f. Algoritma Function C ke K
1. Start
2. Persiapan,T=real
3. Deklarasi konversi suhu C ke K= T + 273
4. Stop
g. Algoritma Function R ke F
1. Start
2. Persiapan, T=real
3. Deklarasi konversi suhu R ke F=(9/4*T)+32
4. Stop
h. Algoritma Function R ke C
1. Start
2. Persiapan, T= real
3. Deklarasi konversi suhu R ke C= 5/4*T
4. Stop
i. Algoritma Function R ke K
1. Start
2. Persiapan, T=real
3. Deklarasi konversi suhu R ke K= (5/4*T)+273
4. Stop
![Page 35: tipe data dan statement control](https://reader033.vdocuments.net/reader033/viewer/2022052307/5571facd497959916993261b/html5/thumbnails/35.jpg)
j. Algoritma Function K ke C
1. Start
2. Persiapan, T=real
3. Deklarasi konversi suhu K ke C= T-273
4. Stop
k. Algoritma Function K ke F
1. Start
2. Persiapan, T=real
3. Deklarasi konversi suhu K ke F= ( 9 / 5 * (T – 273)) + 32
4. Stop
l. Algoritma Function K ke R
1. Start
2. Persiapan, T=real
3. Deklarasi konversi suhu K ke R= ( 4 / 5 * ( T – 273 )
4. Stop
m. Algoritma Program Utama
1. Mulai
2. Inisialiasasi F=0, C=0, R=0, K=0
3. Masukkan pilihan suhu yang ingin dikonversi (1-12)
4. Jika 0≥ kode yang dimasukkan <12 maka input yang anda
masukkan salah
5. Jika input yang dimasukkan adalah 1 maka deklarasi nilai
memanggil fungsi F_ke_C dan lanjut ke langkah 17, jika tidak
lanjut ke langkah selanjutnya
6. Jika input yang dimasukkan adalah 2 maka deklarasi nilai
memanggil fungsi F_ke_R dan lanjut ke langkah 17, jika tidak
lanjut ke langkah selanjutnya
7. Jika input yang dimasukkan adalah 3 maka deklarasi nilai
memanggil fungsi F_ke_K dan lanjut ke langkah 17, jika tidak
lanjut ke langkah selanjutnya
![Page 36: tipe data dan statement control](https://reader033.vdocuments.net/reader033/viewer/2022052307/5571facd497959916993261b/html5/thumbnails/36.jpg)
8. Jika input yang dimasukkan adalah 4 maka deklarasi nilai
memanggil fungsi C_ke_F dan lanjut ke langkah 17, jika tidak
lanjut ke langkah selanjutnya
9. Jika input yang dimasukkan adalah 5 maka deklarasi nilai
memanggil fungsi C_ke_R dan lanjut ke langkah 17, jika tidak
lanjut ke langkah selanjutnya
10. Jika input yang dimasukkan adalah 6 maka deklarasi nilai
memanggil fungsi C_ke_K dan lanjut ke langkah 17, jika tidak
lanjut ke langkah selanjutnya
11. Jika input yang dimasukkan adalah 7 maka deklarasi nilai
memanggil fungsi R_ke_F dan lanjut ke langkah 17, jika tidak
lanjut ke langkah selanjutnya
12. Jika input yang dimasukkan adalah 8 maka deklarasi nilai
memanggil fungsi R_ke_C dan lanjut ke langkah 17, jika tidak
lanjut ke langkah selanjutnya
13. Jika input yang dimasukkan adalah 9 maka deklarasi nilai
memanggil fungsi R_ke_K dan lanjut ke langkah 17, jika tidak
lanjut ke langkah selanjutnya
14. Jika input yang dimasukkan adalah 10 maka deklarasi nilai
memanggil fungsi K_ke_C dan lanjut ke langkah 17, jika tidak
lanjut ke langkah selanjutnya
15. Jika input yang dimasukkan adalah 11 maka deklarasi nilai
memanggil fungsi K_ke_F dan lanjut ke langkah 17, jika tidak
lanjut ke langkah selanjutnya
16. Jika input yang dimasukkan adalah 11 maka deklarasi nilai
memanggil fungsi K_ke_R dan lanjut ke langkah 17, jika tidak
lanjut ke langkah selanjutnya
17. Keluaran berupa suhu akhir yang telah dikonversi
18. Percabangan menentukan apakah anda ingin mengulang? Jika ya
kembali ke langkah 2 jika tidak program akan berhenti
![Page 37: tipe data dan statement control](https://reader033.vdocuments.net/reader033/viewer/2022052307/5571facd497959916993261b/html5/thumbnails/37.jpg)
T real
F ke R 4/9*(T-32)
Start
Stop
4.3.2.3 Flowchart
Fungsi F ke C Fungsi F ke R
Gambar 4.11 Flowchart Fungsi F ke C Gambar 4.12 Flowchart Fungsi F ke C
Fungsi F ke K Fungsi C ke F
Gambar 4.13 Flowchart Fungsi F ke K Gambar 4.14 Flowchart Fungsi C ke F
S T A R T
F_ke_C:=5/9 * (T-32)
S T O P
T real
F ke K (5/9*(T-32))+273
Start
Stop
T real
C ke F 9/5*T+32
Start
Stop
T real
![Page 38: tipe data dan statement control](https://reader033.vdocuments.net/reader033/viewer/2022052307/5571facd497959916993261b/html5/thumbnails/38.jpg)
Gambar 4.15 Flowchart Fungsi C ke R
T real
C ke R 4/5*T
Start
Stop
T real
C ke K T+273
Stop
Start
Start
Stop
T real
R ke C 5/4*T
T real
R ke F (9/4*T)+32
Start
Stop
Fungsi C ke R Fungsi C ke K
Fungsi R ke F Fungsi R ke C
Gambar 4.16 Flowchart Fungsi C ke K
Gambar 4.17 Flowchart Fungsi R ke F Gambar 4.18 Flowchart Fungsi R ke C
![Page 39: tipe data dan statement control](https://reader033.vdocuments.net/reader033/viewer/2022052307/5571facd497959916993261b/html5/thumbnails/39.jpg)
T real
K ke C T -273
Start
Stop
T real
K ke R 4/5*(T-273)
Start
Stop
Fungsi R ke K Fungsi K ke C
Gambar 4.19 Flowchart Fungsi R ke K Gambar 4.20 Flowchart Fungsi K ke C
Fungsi K ke F Fungsi K ke R
Gambar 4.21 Flowchart Fungsi K ke F Gambar 4.22 Flowchart Fungsi K ke R
S T A R T
R ke K (5/4*T)+273
S T O P
T real
S T A R T
K ke F (9/5*(T-273))+32
S T O P
T real
![Page 40: tipe data dan statement control](https://reader033.vdocuments.net/reader033/viewer/2022052307/5571facd497959916993261b/html5/thumbnails/40.jpg)
Start
Tidak
Ya
Ya
Ya
Ya
Ya
Ya
Ya
Tidak
Tidak
Tidak
Tidak
Tidak
Tidak
B
C, R, F, K 0Kode IntegerHasil real
Input kode
Hasil F ke CKode=1
Hasil F ke RKode=2
Hasil F ke KKode=3
Hasil C ke FKode=4
Hasil C ke RKode=5
Hasil C ke KKode=6
A
A
A
C
Kode<1, Kode=0, bil> 12
Program Utama
Gambar 4.23 Flowchart Program Utama Konversi Suhu (a)
![Page 41: tipe data dan statement control](https://reader033.vdocuments.net/reader033/viewer/2022052307/5571facd497959916993261b/html5/thumbnails/41.jpg)
Stop
Gambar 4.24 Flowchart Program Utama Konversi Suhu (b)
Ya
Ya
Ya
Ya
Ya
Ya
Tidak
Tidak
Tidak
Tidak
Tidak
Tidak
Tidak
Ya
Hasil R ke FKode=7
AB
Hasil R ke CKode=8
Hasil R ke Kpil=9
Hasil K ke CKode=10
Hasil K ke FKode=11
Hasil K ke RKode=12
Coba lagi?C
InputHasil
![Page 42: tipe data dan statement control](https://reader033.vdocuments.net/reader033/viewer/2022052307/5571facd497959916993261b/html5/thumbnails/42.jpg)
Input :Kode : 1F : 41C :R :K :
_____________________________Process :
F : C :5/9*(T-32)R :K :
_____________________________Output :
C : 5
Input :Kode : 2F : 41C :R :K :
_____________________________Process :
F : C :R : 4/9*(T-32)K :
_____________________________Output :
R : 4
Input :Kode : 3F : 41C :R :K :
_____________________________Process :
F : C :R :K : (4/9*(T-32))+273
_____________________________Output :
K : 278
Input :Kode : 4F : C :5R :K :
_____________________________Process :
F : 9/5*T+32C R :K :
_____________________________Output :
F : 41
4.3.2.4 Tracing Program Konversi Suhu
Setelah selesai membuat flowchart, kita dapat melakukan uji coba
program tersebut dengan tracing.
Tabel 4.5 Tracing Konversi Suhu F ke C Tabel 4.6 Tracing Konversi Suhu F ke R
Tabel 4.7 Tracing Konversi Suhu F ke K Tabel 4.8 Tracing Konversi Suhu C ke F
![Page 43: tipe data dan statement control](https://reader033.vdocuments.net/reader033/viewer/2022052307/5571facd497959916993261b/html5/thumbnails/43.jpg)
Input :Kode : 7F : C :R : 4K :
_____________________________Process :
F : 9/4*T+32C :R :K :
_____________________________Output :
F : 41
Input :Kode : 8F : C :R : 4K :
_____________________________Process :
F :C : 5/4*TR :K :
_____________________________Output :
C : 5
Input :Kode : 5F : C : 4R :K :
_____________________________Process :
F : C :R : 4/5*TK :
_____________________________Output :
R : 5
Input :Kode : 6F : C : 7R :K :
_____________________________Process :
F : C :R : K : T+273
_____________________________Output :
K : 280
Tabel 4.9 Tracing Konversi Suhu C ke R Tabel 4.10 Tracing Konversi Suhu C ke K
Tabel 4.11 Tracing Konversi Suhu R ke F Tabel 4.12 Tracing Konversi Suhu R ke C
![Page 44: tipe data dan statement control](https://reader033.vdocuments.net/reader033/viewer/2022052307/5571facd497959916993261b/html5/thumbnails/44.jpg)
Input :Kode : 11F : C :R : K : 300
_____________________________Process :
F : (T-273)* (9/5*T+32)C :R :K :
_____________________________Output :
F : 14612
Input :Kode : 12F : C :R : K : 278
_____________________________Process :
F :C : R : 4/5*(T-273)K :
_____________________________Output :
R : 4
Input :Kode : 9F : C :R : 4K :
_____________________________Process :
F :C :R :K : (5/4*T)+273
_____________________________Output :
K : 278
Input :Kode : 10F : C :R : K : 300
_____________________________Process :
F :C : T-273R :K :
_____________________________Output :
C : 27
Tabel 4.13 Tracing Konversi Suhu R ke K Tabel 4.14 Tracing Konversi Suhu K ke C
Tabel 4.15 Tracing Konversi Suhu K ke F Tabel 4.16 Tracing Konversi Suhu K ke R
4.3.2.5 Listing Program Konversi Suhu
program konversi_suhu;uses wincrt;vara,b :string;no,kode: integer;suhu,T : real;
function F_ke_C (T:real):real;begin F_ke_C :=5/9*(T-32);
![Page 45: tipe data dan statement control](https://reader033.vdocuments.net/reader033/viewer/2022052307/5571facd497959916993261b/html5/thumbnails/45.jpg)
end;function F_ke_R (T:real):real;begin F_ke_R:= 4/9*(T-32);end;function F_ke_K (T:real):real;begin F_ke_K := F_ke_C(T) + 273; end;
function C_ke_F (T:real):real;begin C_ke_F := 9/5*T+32;end;function C_ke_R (T:real):real;begin C_ke_R:= 4/5*T;end;function C_ke_K (T:real):real;begin C_ke_K := T+273;end;
function R_ke_F (T:real):real;begin R_ke_F := 9/4*T+32;end;function R_ke_C (T:real):real;begin R_ke_C := 5/4*T;end;function R_ke_K (T:real):real;begin R_ke_K := R_ke_C (T) +273;end;
function K_ke_C (T:real):real;begin K_ke_C := T-273; end;function K_ke_F (T:real):real;begin K_ke_F := (K_ke_C(T)*9/5*T+32);end;function K_ke_R (T:real):real;begin K_ke_R :=4/5*K_ke_C(T);end;begingotoxy (30,1); writeln ('*===== KELOMPOK 15 ======*');gotoxy (30,2); writeln ('**************************');gotoxy (30,3); writeln ('*Komang Isabella A |(65)*');gotoxy (30,4); writeln ('*I Made Anand Gopal |(66)*');gotoxy (30,5); writeln ('*Jaryanta Arya M. |(67)*');gotoxy (30,6); writeln ('*I Gede Darko Pancev|(68)*');gotoxy (30,7); writeln ('*Agus teja Baskara |(69)*');
![Page 46: tipe data dan statement control](https://reader033.vdocuments.net/reader033/viewer/2022052307/5571facd497959916993261b/html5/thumbnails/46.jpg)
gotoxy (30,8); writeln ('**************************');writeln;writeln;writeln ('coba program konversi suhu? (Y/N)');while readkey= 'y' do
beginrepeat clrscr; gotoxy (30,1); writeln ('PROGRAM KONVERSI SUHU'); gotoxy (30,2); writeln ('---------------------');writeln;write ('SATUAN YANG DIKONVERSI');writeln;writeln('pilih salah satu'); writeln('1. Konversi F ke C'); writeln('2. Konversi F ke R'); writeln('3. Konversi F ke K'); writeln('4. Konversi C ke F'); writeln('5. Konversi C ke R'); writeln('6. Konversi C ke K'); writeln('7. Konversi R ke F'); writeln('8. Konversi R ke C'); writeln('9. Konversi R ke K'); writeln('10.Konversi K ke C'); writeln('11.Konversi K ke F'); writeln('12.Konversi K ke R'); writeln; repeat writeln ('masukkan pilihan anda (1-12):'); readln (a); val (a,no,kode); if (kode<>0) or (no<0) or (no>12) then writeln ('input yang anda masukkan salah. pilih nomor 1-12'); until (kode=0)and(no>0)and(no<13);
repeat writeln ('masukkan nilai suhu:'); readln (b); val(b,T,kode); if(kode<>0)then writeln('pilih nomor 1-12!'); Until(kode=0);
writeln; case no of 1:suhu:=F_ke_C(T); 2:suhu:=F_ke_R(T); 3:suhu:=F_ke_K(T); 4:suhu:=C_ke_F(T); 5:suhu:=C_ke_R(T); 6:suhu:=C_ke_K(T); 7:suhu:=R_ke_F(T); 8:suhu:=R_ke_C(T);
![Page 47: tipe data dan statement control](https://reader033.vdocuments.net/reader033/viewer/2022052307/5571facd497959916993261b/html5/thumbnails/47.jpg)
Kode Program 4.27 Listing Program Konversi Suhu
4.4 Uji Coba dan User Interface
4.4.1 Program Konversi Cek
Setelah kita membuat programnya maka langkah selanjutnya adalah
menampilkan hasil program yang telah dibuat. Tampilan awal pada program
konversi cek dapat kita lihat pada gambar dibawah ini:
Gambar 4.25 Tampilan Awal Program Konversi Cek
Mula-mula kita menginputkan angka 270. Sehingga, ketika di run akan
mucul tampilan seperti ini:
9:suhu:=R_ke_K(T); 10:suhu:=K_ke_C(T); 11:suhu:=K_ke_F(T); 12:suhu:=K_ke_R(T); end;writeln ('jadi suhu akhir',suhu:0:2); writeln ('ingin mengulang? (Y/N)');Until readkey='n';clrscr;gotoxy(30,15); writeln ('TERIMAKASIH'); end;End.
![Page 48: tipe data dan statement control](https://reader033.vdocuments.net/reader033/viewer/2022052307/5571facd497959916993261b/html5/thumbnails/48.jpg)
Gambar 4.26 Tampilan Program Konversi Cek 1
Setelah bilangan diinputkan, maka secara otomatis bilangan akan
dikonversi ke tulisan. seperti terlihat pada gambar 4.26. Kemudian muncul
perintah lagi yaitu “apakah anda ingin mengulang? (Y/N)”. Kami memilih ‘Y’
dan mencoba menginputkan huruf.
Gambar 4.27 Tampilan Pogram Konversi Cek 2
![Page 49: tipe data dan statement control](https://reader033.vdocuments.net/reader033/viewer/2022052307/5571facd497959916993261b/html5/thumbnails/49.jpg)
Hal ini terjadi karena inputnya berupa huruf dan menyebabkan pesan kesalahan
sehingga program tidak dapat berjalan dengan baik.
4.4.2 Program Konversi Suhu
Setelah kita membuat programnya maka langkah selanjutnya adalah
menampilkan hasil program yang telah dibuat. Tampilan awal pada program
konversi cek dapat kita lihat pada gambar dibawah ini:
4.28 Gambar Tampilan Awal Program Konversi Suhu
Setelah itu, akan muncul tampilan kode dimana kita disuruh memilih
jenis konversi mana yang kita ingin uji coba. Setelah itu, kita menginputkan nilai
suhu awal dimana outputnya akan menampilkan nilai suhu akhir yang telah
dikonversi tersebut. Untuk tahap ini kita menginput kode 1 dan menginput nilai
suhu sebesar 41. Setelah di run akan muncul tampilan seperti tampak pada
gambar.
![Page 50: tipe data dan statement control](https://reader033.vdocuments.net/reader033/viewer/2022052307/5571facd497959916993261b/html5/thumbnails/50.jpg)
Gambar 4.29 Tampilan Program Konversi Suhu 1
Pada uji coba yang kedua, kami mencoba menginputkan angka 13 pada kode,
sehingga akan tampak pada layar kesalahan input. Hal ini terjadi karena pilihan
yang seharusnya dimasukkan adalah 1-12. Apabila input masukkan kode yang
kita masukkan diluar dari ketentuan tersebut, maka program tidak dapat berjalan.
Gambar 4.30 Tampilan Pogram Konversi Suhu 2
![Page 51: tipe data dan statement control](https://reader033.vdocuments.net/reader033/viewer/2022052307/5571facd497959916993261b/html5/thumbnails/51.jpg)
4.5 Kesimpulan
Dari pembahasan dan analisa diatas, kami dapat menarik beberapa
kesimpulan, yaitu:
1. Statement pengulangan dapat mempermudah untuk melaksanakan
suatu perintah yang dilaksanakan secara berulang-ulang.
2. Pemilihan tipe data juga sangat penting dalam suatu program. Dalam
program konversi cek kami menggunakan tipe data string karena
outputnya berupa kumpulan sejumlah karakter, dan pada program
konversi suhu kami menggunakan tipe data real karena dalam
perhitungannya menggunakan operator matematika pembagian real
(/) yang memungkinkan untuk mengeluarkan output bernilai
desimal.
3. Pada program konversi cek dan program konversi suhu, kami
menggunakan validasi yang berfungsi untuk melakukan perulangan
apabila terjadi kesalahan input.
4. Penggunaan prosedur dan fungsi dapat mempermudah pembuatan
program yaitu dengan cara melakukan pemanggilan dengan cara
memanggil namanya dari program pemanggil (misalnya dari
program utama).