Thursday, October 22, 2015

Algoritma dan Program Penampil Gas Mulia Yang Memiliki Nilai Energi Ionisasi di Atas Rata-Rata Dari Kecil ke Besar menggunakan Metode Buble Sorting dan Pencarian Linier.

Nama Kelompok :
1. Ikhwan Maulana Akbana(D03112031)
2. M. Dwi Etsa Putra(D03112013)
3. Ricky Angga Dewantara(D03112027)

Soal:
Diketahui data gas mulia dalam bentuk array sebagai berikut sebagai berikut :
· unsur: array [1..6] of string = ('He','Rn','Kr','Ne','Xe','Ar');
· energi: array [1..6] of integer = (2640,1040,1350,2080,1170,1520);
Buatlah algoritma dan program yang dapat menampilkan gas mulia apa saja yang memiliki nilai energi ionisasi diatas rata-rata energi ionisasi gas mulia dari Kecil ke Besar.

Jawab:
Algoritma : 
rata:=((energi[1]+energi[2]+energi[3]+energi[4]+energi[5]+energi[6])/6);
  for a:= 1 to 6 do
   begin
          if energi[a]>rata then
          begin
          b:=b+1;
            etemp[b]:=energi[a];
            utemp[b]:=unsur[a];
          end;
   end;

  for c:= 1 to b-1 do
  begin
        for d:= b downto c-1 do
        begin
                if etemp[d] < etemp[d-1] then
                         begin
                          e:=etemp[d];
                          u:=utemp[d];
                          etemp[d]:=etemp[d-1] ;
                          utemp[d]:=utemp[d-1] ;
                          etemp[d-1]:=e;
                          utemp[d-1]:=u;
                         end;
        end;
end;

for c:= 1 to c+1 do 
    begin
write (utemp[c],' ',etemp[c],' ');
end;
































Source Code :
program gasmulai;
var
unsur: array [1..6] of string =('He','Rn','Kr','Ne','Xe','Ar');
energi: array [1..6] of integer = (2640,1040,1350,2080,1170,1520);
utemp: array [1..6] of string;
etemp: array [1..6] of integer;
i,j,l,sort,tukar, e: integer;
u: string;
rata : real;

begin
write ('hasil sorting gas mulia yang memiliki energi ionisasi di atas rata-rata energi');
writeln;
write ('ionisasi gas mulia mulai dari kecil ke besar');
writeln;

 rata:=((energi[1]+energi[2]+energi[3]+energi[4]+energi[5]+energi[6])/6);
 writeln;
 write ('rata-rata energi gas mulia',rata);
 writeln;

for i:= 1 to 6 do 
begin
          if energi[i]>rata then
          begin
          j:=j+1;
            etemp[j]:=energi[i];
            utemp[j]:=unsur[i];
          end;
   end;

  for sort:= 1 to j-1 do
  begin
        for tukar:= j downto sort-1 do
        begin
                if etemp[tukar] < etemp[tukar-1] then
                         begin
                         e:=etemp[tukar];
                         u:=utemp[tukar];
                         etemp[tukar]:=etemp[tukar-1] ;
                         utemp[tukar]:=utemp[tukar-1] ;
                         etemp[tukar-1]:=e;
                         utemp[tukar-1]:=u;
                         end;
        end;
  end;
for l:= 1 to sort+1 do 
begin
            write (utemp[l],' ',etemp[l],' ');
            writeln;
end;
 readln;
end.























































No comments:

Post a Comment