Oleh:
NIM : 3105111156
PEMBAHASAN
INPUT
Jangan lupa untuk
Inputkan type data( composite) array yaitu memulai sebuah
progam kita harus
Larik =string memakai”uses wincrt”
Gaji bersih Sedangkan untuk
Tunjangan mengakhiri seluruh
real program maka kita
Gaji total harus memakai “ end.
”, apabila program
Inputkan type data (primitive) variable yaitu tersebut masih
nama,alamat,jabatan = larik Type data dari berlanjut maka kita
pakai “ end; ”
Array
a = gaji bersih
b = tunjangan
Type data dari
c = gaji total Array
i,n,posisi = byte
Gaji total = gaji bersih – PPN Total = total + total gaji bersih
b[n]: tunjangan
Agar data tersusun dengan rapi dan indah kita bisa membuat kedalam
bentuk tabel, dan untuk bentuk listingnya sebagai berikut:
Untuk membuat data agar terlihat simpel dan tidak panjang kita gunakan
clrscr;
Dan untuk setiap variabel data yang ingin kita masukan kedalam tabel
maka diakhir variabel data tersebut kita tambahkan [i]. Fungsi dari
penambahan [i] hampir sama dengan penambahan [n] pada data
sebelumnya, bedanya kalau di “[n]” digunakan untuk mengurutkan dan
menyambungkan data sebelum tanda xxx di ENTER ,sedangkan fungsi
“[i]” adalah mengurutkan dan menyambungkan data setelah tanda xxx di
ENTER. Dengan adanya [i] maka data akan menyambung sesuai urutanya
dan tepat pada masing-masing datanya.
Untuk penulisanya sama dengan penulisan pada “[n]” yaitu dikhir variabel
data (nomor[i], nama[i], alamat[i], gaji bersih[i], jabatan[i], tunjangan[i],
gaji total[i]). Untuk lebih jelasnya lihat tulisan progam dibawah ini
beserta hasil outputnya.
Selanjutnya adalah bagaimana kita mencari daftar nama pada data yang
sudah jadi?
Untuk mencari daftar nama beserta posisi nama tersebut berada kita bisa
menggunakan statement perulangan berupa for loop dan jangan lupa
masukan variabel dengan type boolean(statement false dan true) dan
type String untuk “cari”. Untuk mengawalinya kita harus menempatkan
statement berupa “false”.
Ketemu:=fal
se;
Fungsi dari false itu tersendiri adalah menyatakan bahwa nama yang
ingin di cari dari data tersebut dalam posisi salah (teridentifikasi salah).
Sehingga untuk mencari kebenaran data yang kita inginkan maka
digunakanlah statement yang true pada proses pencarian(rumus). Dan
untuk menyertakan posisi dan alamat dimana nama tersebut berada kita
bisa menambahkan variabel posisi yang bertipe byte, dan alamat yang
bertipe array of string
Karena kita ingin mencari satu nama dari beberapa nama dalam data dan
mencari pula nama yang sama maka kita harus menambahkan
pernyataan bersyarat berupa IF tapi tanpa else. Sedangkan untuk
menampilkan isyarat nama yang tidak ditemukan pada data maka
statement-nya harus di False. Kenapa pakai False? Karena pada
“ketemu” diatas kita identifikasikan salah atau datanya tidak tersedia
sehingga ketika kita tuliskan nama yang salah(tidak ada dalam daftar
data) maka secara otomatis progam akan menampilkan pesan “maaf
nama yang anda cari tidak ada”.
Untuk mencari nama dan posisinya secara berulang atau tidak kita bisa
gunakan variabel “lagi” yang bertipe karakter(char). Karena dalam proses
diatas penentuanya menggunakan proses while do maka penempatan
kondisi “lagi” berada di awal yaitu: while lagi = ’y’ do. Pilihan yang
tersedia hanya ya dan tidak (y/t), sedangkan variabel “lagi”
karakter(char)-nya berupa huruf “y” saja. Jadi ketika kita menuliskan huruf
selain “y” ,misalnya “t” atau yang lainya maka ketika di ENTER secara
otomatis akan pindah ke proses berikutnya ,yaitu proses menentukan gaji
tertinggi(maximal) dan gaji terendah(minimal)
Jika gaji total lebih besar dari gaji total yang lainya(berikutnya) maka
cetak besarnya, atas nama siapa, dan alamatnya.
Jika gaji total lebih kecil dari gaji total yang lainya(berikutnya) maka cetak
besarnya, atas nama siapa, dan alamatnya.
Jangan lupa tambahkan [i] pada setiap variabel supaya hasil programnya
bisa terbaca secara urut, detail dan saling menyambung dari
pertama(i=1) sampai akhir(n).
Pengecualian: untuk gaji total minimal penulisanya tidak memakai c[i] tapi
c[1], sebab jika menggunakan c[i] untuk data “alamat” tidak akan
terbaca(keluar). Pada intinya c[i] dan c[1] itu beda, karena
pendepkripsianya c[i] untuk maksimal maka data dari i:=1 sampai i:=4
akan dibandingkan mana yang lebih besar. Sedangkan pendepkripsianya
c[1] adalah untuk minimal maka pembandinganya mulai dari I terkecil
yaitu satu(1), untuk lebih jelasnya perhatikan hasil program di bawah ini: