Soal Dua Himpunan Seleksi GUCC

Adapun selain soal konversi waktu soal-soal berikutnya saat mengikuti tes penerimaan GUCC 2011 yaitu soal dimana peserta diharuskan membuat sebuah aplikasi dua himpunan yang berhasil dinikmati satu jam oleh sahabat fauzi online yang berasal dari betawi asli yang kerjaanya sembayang mengaji tapi jangan bikin diee.. {:obsesi nyanyi betawi:} hehehehehehe..

Okeh sudah cukup bercandanya, sekarang Untuk lebih jelasnya mari kita perhatikan output permintaanya, analisa programnya, dan modifikasilah alur programnya agar lebih efektif dimata teman-teman.. Sebelumnya Mari kita serukan kata semangat! untuk GUCC 2012 tahun depan.. HEHE

TAMPILAN MENU UTAMA YANG DINGINKAN
1. MENUJU PROSEDUR PENGISIAN HIMPUNAN A DAN HINPUNAN B
2. MENUJU PROSEDUR TAMPILAN PEMILIHAN MENU METODE SORT
2.a. MENUJU PROSEDUR GABUNGAN DUA HIMPUNAN SORT BY ASCENDING
2.b. MENUJU PROSEDUR GABUNGAN DUA HIMPUNAN SORT BY DESCENDING
2.c. KEMBALI KE MENU UTAMA
3. KELUAR PROGRAM

Agar sedikit gambar berikut layout output program yang diinginkan:

I. TAMPILAN MENU UTAMA DUA HIMPUNAN


II. TAMPILAN SAAT PENGISIAN HIMPUNAN A


III. TAMPILAN SAAT PENGISIAN HIMPUNAN B


IV. TAMPILAN OUTPUT HIMPUNAN A DAN HIMPUNAN B YANG DIINPUT


V. TAMPILAN MENU PEMILIHAN METODE SORT


VI. TAMPILAN OUTPUT HIMPUNAN GABUNGAN SORT BY ASCENDING


VI. TAMPILAN OUTPUT HIMPUNAN GABUNGAN SORT BY DESCENDING



CODINGNYA DI SINI VERSI UZI-ONLINE:

PROGRAM TES_SELEKSI_GUCC2011(TIPE_32B);
uses crt;
var pil,metode:byte; i,na,nb,nt:integer;j:integer;
nhimpa,nhimpb,nhimptot,nhimpasc:array[1..99] of longint;

procedure input;
begin
clrscr;
writeln('INPUT HIMPUNAN A');
write('Masukan Jumlah Himpunan A:');readln(na);
for i:=1 to na do begin
write('Input himpunan A nilai ke-',i,': ');
readln(nhimpa[i]);
end;
writeln;write('ISI HIMPUNAN A SELESAI');
readln;

clrscr;
j:=1;
writeln('INPUT HIMPUNAN B');
write('Masukan Jumlah Himpunan B:');readln(nb);
for i:=(na+1) to (na+nb) do begin
write('Input himpunan B nilai ke-',j,': ');
inc(j);
readln(nhimpb[i]);
end;
writeln;write('ISI HIMPUNAN B SELESAI');
readln;

clrscr;
writeln('HIMPUNAN A YANG ANDA INPUT:');
for i:=1 to na do write(nhimpa[i],' ');
writeln;writeln;
writeln('HIMPUNAN B YANG ANDA INPUT:');
for i:=(na+1) to (na+nb) do write(nhimpb[i],' ');
readln;
end;

procedure gabung;
begin
clrscr;
write('HIMPUNAN A: ');
for i:=1 to na do begin write(nhimpa[i],' ');end;
writeln;writeln;
write('HIMPUNAN B: ');
for i:=na+1 to na+nb do begin write(nhimpb[i],' ');end;
writeln;writeln;

for i:=1 to na do nhimptot[i]:=nhimpa[i];
for i:=na+1 to na+nb do nhimptot[i]:=nhimpb[i];
write('GABUNGAN HIMPUNAN A DAN HIMPUNAN B : ');
for i:=1 to na+nb do write(nhimptot[i],' ');
end;

procedure urut_asc;
var indek,isi:byte;
begin
clrscr;
gabung;
nt:=na+nb;

for indek:=1 to nt-1 do begin
isi:=1;
for isi:=1 to nt-1 do begin
if nhimptot[isi]>nhimptot[isi+1] then begin
nhimpasc[isi]:=nhimptot[isi];
nhimptot[isi]:=nhimptot[isi+1];
nhimptot[isi+1]:=nhimpasc[isi];
end else inc(j);
end;
end;
writeln;writeln;
write('SORT BY ASCENDING HIMPUNAN GABUNGAN : ');
for i:=1 to nt do
write(nhimptot[i],' ');
readln;
end;

procedure urut_desc;
var indek,isi:byte;
begin
clrscr;
gabung;
nt:=na+nb;
for indek:=1 to nt-1 do begin
for isi:=1 to nt-1 do begin
if nhimptot[isi] > nhimptot[isi+1] then begin
nhimpasc[isi]:=nhimptot[isi];
nhimptot[isi]:=nhimptot[isi+1];
nhimptot[isi+1]:=nhimpasc[isi];
end else inc(j);
end;
end;
writeln;writeln;
write('SORT BY DESCENDING HIMPUNAN GABUNGAN : ');
for i:=nt downto 1 do
write(nhimptot[i],' ');
readln;
end;

begin
repeat
clrscr;
gotoxy(32,11);writeln(' MENU UTAMA ');
gotoxy(32,14);writeln('1.INPUT 2 HIMPUNAN');
gotoxy(32,16);writeln('2.URUTKAN 2 HIMPUNAN ');
gotoxy(32,18);writeln('4.PERGI LU..');
gotoxy(32,20);write('SILAHKAN PILIH MENU:');readln(pil);
case pil of
1:input;
2:begin
repeat
clrscr;
gotoxy(32,11);writeln('PILIH METODE URUT ');
gotoxy(32,14);writeln('1.ASCENDING');
gotoxy(32,16);writeln('2.DESCENDING');
gotoxy(32,18);writeln('3.MENU UTAMA');
gotoxy(32,20);write('SILAHKAN PILIH MENU:');readln(metode);
case metode of
1:urut_asc;
2:urut_desc;
end;
until metode=3;
end;
end;
until pil=3;
end.

0 comments:

Post a Comment