Tampilkan postingan dengan label Strategi Algoritma. Tampilkan semua postingan
Tampilkan postingan dengan label Strategi Algoritma. Tampilkan semua postingan

Selasa, 30 Juni 2015

function Fibonacci(n:integer) ? integer;
Deklarasi :
        a, b, c, i : integer;
Algoritma : 
        if n = 0 then
              return 0
        else if n = 1 then
              return 1
           else
              a ? 0
              b  ? 1
              i ? 2
              while i<=n do
                 c  ? a +b
                 a ? b
                 b ? c
                 i   ? i+1
                       return  c;
         endwhile
      endif
   endif


Program Fibonacci1
Delarasi :
        i, n:integer
Algoritma :
       read(n)
        for i:= 0 to n-1 do
           write(Fibonacci(i))
       endfor
#include <iostream>
using namespace std;

int Fibonacci(int n){
int a, b, c, i;
if(n==0){
return 0;
}
else if (n==1){
return 1;
}
else{
a=0;
b=1;
i=2;
while (i<=n){
c=a+b;
a=b;
b=c;
i=i+1;
}
return c;
}
}

int main() {
int i, n;
cout<<"masukkkan deret fibonacci : ";cin>>n;
cout<<endl;
cout<<"deret fibonacci : ";
for(i=0; i<n; i++){
cout<<Fibonacci(i)<<"  ";
}
return 0;
}
Program Deret_Fibonacci;

function Fibonacci(n:integer) : integer;
var
        a, b, c, i : integer;
begin
        if n = 0 then
           begin
           Fibonacci := 0;
           end
        else if n = 1 then
           begin
           Fibonacci := 1;
           end
           else
           begin
              a:=0;
              b:=1;
              i:=2;
              while i<=n do
              begin
                 c:=a+b;
                 a:=b;
                 b:=c;
                 i:=i+1;
              end;
              Fibonacci := c;
           end;
end;

var
        i, n:integer;
begin
        write('masukkan deret fibonacci : ');
        readln(n);
        writeln();
        write('deret fibonacci : ');
        begin
        for i:= 0 to n-1 do
           write(Fibonacci(i),'  ');
        end;
end.
function Pangkat(x, y : integer) ? integer
Deklarasi lokal :
{tidak ada}
Algoritma :
        if y=0 then
           return 1
        else
          return (x*Pangkat(x,y-1))
        endif.

Program PangkatRek
Deklarasi :
        x, y, hasil : integer
        function Pangkat(x, y : integer) ? integer
Algoritma :
       read(x, y)
       hasil:=Pangkat(x,y)
       write(x,'^',y,' = ',hasil)
Program dalam bahasa Pascal

program PangkatRek;

function Pangkat(x, y : integer) : integer;
begin
        if y=0 then
          Pangkat:=1
        else
          Pangkat:=x*Pangkat(x,y-1);
end;

var
        x, y, hasil : integer;

begin
        write('nilai x = ');readln(x);
        write('pangkat = ');readln(y);
        writeln();
        hasil:=Pangkat(x,y);
        writeln(x,'^',y,' = ',hasil);
end.


Program dalam bahasa C++
#include <iostream>
using namespace std;

int Pangkat(int x, int y){
if (y==0)
return 1;
else
return x*Pangkat(x, y-1);
}
int main() {
int x,y,hasil;
cout<<"nilai x = ";cin>>x;
cout<<"pangkat = ";cin>>y;
cout<<endl;
hasil=Pangkat(x,y);
cout<<x<<"^"<<y<<" = "<<hasil;
return 0;
}
#include <iostream>
using namespace std;

struct Karyawan{
int jamkerja, gaji;
string nik, nama, jkel;
}krywan[500];

void BacaData(int N, Karyawan krywan[]){
int i;
for (i=0; i<N; i++){
cout<<"Masukkan NIK : ";cin>>krywan[i].nik;
cout<<"Masukkan Nama : ";cin>>krywan[i].nama;
cout<<"Masukkan Jenis Kelamin : ";cin>>krywan[i].jkel;
cout<<"Masukkan Jam Kerja: ";cin>>krywan[i].jamkerja;

cout<<endl;
}
}

void HitungGaji(int N, Karyawan krywan[]){
int i, gajipokok, gajilembur;
gajipokok=1000000;
gajilembur=25000;
for (i=0; i<N; i++){
if(krywan[i].jamkerja > 48){
krywan[i].gaji=gajipokok+((krywan[i].jamkerja-48)*gajilembur);
}
else{
krywan[i].gaji=gajipokok;
}
}
}

void TampilDataPegawai(int N){
int i;
cout<<"No\t"<<"NIK\t"<<"Nama\t\t"<<"JK\t"<<"Jam Kerja\t"<<"Gaji\t"<<endl;
for(i=0;i<N;i++){
cout<<i+1<<"\t"<<krywan[i].nik<<"\t"<<krywan[i].nama<<"\t\t"<<krywan[i].jkel<<"\t";
cout<<krywan[i].jamkerja<<"\t\t"<<krywan[i].gaji<<"\t"<<endl;
}
cout<<endl;
}

int MaxJamKerja(int N, Karyawan krywan[]){
int i,max;
max = -1;
for(i=0; i<N; i++){
if(krywan[i].jamkerja>max){
max=krywan[i].jamkerja;
}
}
return(max);
}

int MinJamKerja(int N, Karyawan krywan[]){
int i,min;
min = 999;
for(i=0; i<N; i++){
if(krywan[i].jamkerja<min){
min=krywan[i].jamkerja;
}
}
return(min);
}

float Rata(int N, Karyawan krywan[]){
int i;
float jum;
jum = 0;
for(i=0; i<N; i++){
jum = jum + krywan[i].jamkerja;
}
return(jum/N);
}

int karyawanlembur(int N, Karyawan krywan[]){
int i,total;
total=0;
for(i=0;i<N;i++){
if(krywan[i].jamkerja>48){
total=total+1;
}
}
return(total);
}

int jamkrjnormal(int N, Karyawan krywan[]){
int i,total;
total=0;
for(i=0;i<N;i++){
if(krywan[i].jamkerja==48){
total=total+1;
}
}
return(total);
}

void CariKaryawan(int N, Karyawan krywan[], string namaygdicari){
int i;
bool ketemu;

i=1;
ketemu = false;

while ((i<=N) && (not ketemu)){
if(krywan[i].nama == namaygdicari)
ketemu = true;
else
i=i+1;
}
if (ketemu)
cout<<"Data ditemukan";
else
cout<<"Data tidak ditemukan";
cout<<endl;
}

int main() {
int N, Max, Min, Lembur, Normal;
string namaygdicari;
float Rata_Rata;

cout<<"       PROGRAM GAJI PEGAWAI       "<<endl;
cout<<"          INDRI AGUSTINA          "<<endl;
cout<<"dibuat dengan JUJUR tgl 29 Mei 2015"<<endl<<endl;

cout<<"Masukkan Banyak Data Karyawan : ";cin>>N;
cout<<endl;

BacaData(N, krywan);
HitungGaji(N, krywan);
TampilDataPegawai(N);

Max = MaxJamKerja(N,krywan);
cout<<"Jam Kerja Terbanyak = "<<Max<<endl;

Min = MinJamKerja(N,krywan);
cout<<"Jam Kerja Terendah = "<<Min<<endl;

Rata_Rata=Rata(N,krywan);
cout<<"Rata-rata Jam Kerja = "<<Rata_Rata<<endl;

Lembur = karyawanlembur(N,krywan);
cout<<"Banyaknya Karyawan yang Lembur = "<<Lembur<<endl;

Normal = jamkrjnormal(N,krywan);
cout<<"Banyaknya Karyawan yang Jam Kerjanya 48 jam = "<<Normal<<endl;

cout<<"Masukkan nama yang dicari : ";cin>>namaygdicari;
CariKaryawan(N, krywan, namaygdicari);

return 0;
}
program OlahData;
{Dibaca data pegawai dengan tabel NIK, Nama, JK, Jam Kerja, Gaji akan diolah
datanya dengan soal: 1. Menginputkan data, 2. Mencetak data, 3. Jam Kerja
Minimum, 4. Jam Kerja Maksimum, 5. Rata-rata jam kerja, 6. banyaknya karyawan
yang lembur, 7. banyaknya karyawan yang jam kerjanya 48 jam. Program ini
dibuat oleh INDRI AGUSTINA dengan JUJUR pada tanggal 29 Mei 2015}
uses crt;

const Nmaks=500;
type
  Karyawan = record
    jamkerja: integer;
    nik, nama, jkel : string[30];
    gaji:longint;
  end;
  KaryawanArray = array[1..Nmaks] of Karyawan;
  var krywan:KaryawanArray;

procedure BacaData(N : integer ; var krywan:KaryawanArray);
var
  i: integer;
begin
  for i:=1 to N do
  begin
    write('Masukkan NIK : ');
    readln(krywan[i].nik);
    write('Masukkan Nama : ');
    readln(krywan[i].nama);
    write('Masukkan Jenis Kelamin : ');
    readln(krywan[i].jkel);
    write('Masukkan Jam Kerja : ');
    readln(krywan[i].jamkerja);
    writeln();
  end;
end;

Procedure HitungGaji(N:integer);
var
   i: integer;
   const gajipokok=1000000;
   const gajilembur=25000;
begin

    for i:=1 to n do
    begin
         if krywan[i].jamkerja > 48 then
         begin
             krywan[i].gaji:=gajipokok+((krywan[i].jamkerja-48)*gajilembur);
         end
         else
         begin
             krywan[i].gaji:=gajipokok;
         end;
    end;
end;

procedure TampilDataPegawai(N : integer);
var
  i : integer;
begin
  write('NIK      ','Nama   ','JK    ','Jam Kerja    ','Gaji      ');
  writeln();
  for i:=1 to N do
  begin
    write(krywan[i].nik,'       ');
    write(krywan[i].nama,'      ');
    write(krywan[i].jkel,'      ');
    write(krywan[i].jamkerja,'     ');
    write(krywan[i].gaji,'        ');
    writeln();
  end;
end;

function Rata(N : integer) : real;
var
  i : integer;
  jum : real;
begin
  jum := 0;
  for i:=1 to N do
  begin
    jum := jum + krywan[i].jamkerja;
  end;
  Rata := jum/N;
end;

function MaxJamKerja(N : integer) : integer;
var
  i, max : integer;
begin
  max := -1;
  for i:=1 to N do
  begin
    if(krywan[i].jamkerja > max) then
      max := krywan[i].jamkerja;
  end;
  MaxJamKerja := max;
end;

function MinJamKerja(N : integer) : integer;
var
  i, min : integer;
begin
  min := 999;
  for i:=1 to N do
  begin
    if(krywan[i].jamkerja < min) then
      min := krywan[i].jamkerja;
  end;
  MinJamKerja := min;
end;

function karyawanlembur(N : integer) : integer;
var
  i, total : integer;
begin
  total := 0;
  for i:=1 to N do
  begin
    if(krywan[i].jamkerja > 48) then
      total := total+ 1;
  end;
  karyawanlembur := total;
end;

function jamkrjnormal(N : integer) : integer;
var
  i, total : integer;
begin
  total := 0;
  for i:=1 to N do
  begin
    if(krywan[i].jamkerja = 48) then
      total := total+ 1;
  end;
  jamkrjnormal := total;
end;

procedure CariKaryawan(N :integer; var krywan:KaryawanArray; namaygdicari:string);
var
        i : integer;
        ketemu : boolean;

begin
        i:=1;
        ketemu := false;
        while (i<=N) and (not ketemu) do
        begin
          if(krywan[i].nama = namaygdicari) then
              ketemu := true
          else
              i:=i+1;
        end;
        if(ketemu) then
           write('Data ditemukan')
        else
           write('Data tidak ditemukan');
end;

var
  N, min, max, Lembur, Normal : integer;
  namaygdicari:string;
  Rata_Rata : real;

begin
    write('Banyak data mahasiswa : ');
    readln(N);
    writeln();

  BacaData(N, krywan);
  HitungGaji(N);
  TampilDataPegawai(N);

  Rata_Rata := Rata(N);
  writeln('Rata-rata Jam Kerja = ', Rata_Rata);

  max := MaxJamKerja(N);
  writeln('Jam Kerja Maksimum = ', max);

  min := MinJamKerja(N);
  writeln('Jam Kerja Minimum  = ', min);

  Lembur := karyawanlembur(N);
  writeln('Banyaknya karyawan yang Lembur  = ', Lembur);

  Normal := jamkrjnormal(N);
  writeln('Banyaknya karyawan yang Jam Kerjanya 48 jam  = ', Normal);

  write('Masukkkan nama yang dicari : '); readln(namaygdicari);
  CariKaryawan(N, krywan, namaygdicari);
end.
function tegangan (R, A : integer) : integer
Deklarasi lokal :
     (tidak ada)
Algoritma :
      return (R*A)

Program Voltage
{dibaca resistor dan arus, hitung voltage dan tampilkan hasilnya dilayar}

Deklarasi :
        R,A:integer;
        V:integer;
        function tegangan(R,A:integer) :integer;

Algoritma :
       read(R, A);
        V ? tegangan(R,A);
        write(V)
Program Voltage;
{dibaca resistor dan arus, hitung voltage dan tampilkan hasilnya dilayar}

var
        R,A:integer;
        V:integer;
        function tegangan(R,A:integer) :integer;

begin
        V:=R*A;
end;

begin
        write('masukkan R : ');readln(R);
        write('masukkan A : ');readln(A);
        V:=tegangan(R,A);
        writeln('V = ',V);
end.
#include <iostream>
using namespace std;

int tegangan(int R, int A){
return(R*A);
}

int main() {
int R,A,V;
cout<<"masukkan R : ";cin>>R;
cout<<"masukkan A : ";cin>>A;
V=tegangan(R,A);
cout<<"V = "<<V;

return 0;
}
Program Persamaan_Kuadrat
{Dibaca koefisien persmaan kuadrat tampilkan akar dan jenisnya}

Deklarasi :
a, b, c : integer
D, x, x1, x2 : real

Algoritma :
read (a, b, c)
if a=0 then
         write('bukan persamaan kuadrat')
else
         D ? (b*b) - (4*a*c)
         if (D < 0) then
                 write ('akar-akanya imajiner')
                 else if (D = 0) then
                        x ? (-b/2)*a
                        write ('akar-akarnya kembar', x)
                        else
                            write ('akar-akarnya berbeda')
                            x ? (-b + ( sqrt (D)))/2 *a
                            ? (-b - ( sqrt (D)))/2 *a
                            write (x1, x2)
                        endif
                endif
endif



#include <iostream>
#include <math.h>
using namespace std;

int main() {
int a, b, c;
float D, x, x1, x2;

cout<<"Nilai a : ";cin>>a;
if(a==0)
cout<<"bukan persamaan kuadrat";
else{
cout<<"nilai b : ";cin>>b;
cout<<"nilai c : ";cin>>c;
D=(b*b)-(4*a*c);
if(D<0)
cout<<"akar-akarnya imajiner"<<endl;
else if (D==0){
x=(-b/2)*a;
cout<<"akar-akarnya kembar : "<<x;
}
else{
cout<<"akar-akarnya berbeda";
x1=(-b+(sqrt(D)))/2*a;
x2=(-b-(sqrt(D)))/2*a;
cout<<"x1 : "<<x1<<endl;
cout<<"x2 : "<<x2;
}
}
return 0;
}
#include <iostream>
using namespace std;


int main() {
int i, premium, pertamax, biosolar;
cout<<"---------------------------------------------------------"<<endl;
cout<<"| L\t|\t"<<"premium\t|\t"<<"pertamax|"<<" biosolar\t|"<<endl;
cout<<"---------------------------------------------------------"<<endl;
for(i=1;i<=100;i++){
premium=7400*i;
pertamax=8600*i;
biosolar=6900*i;
cout<<"| "<<i<<"\t|\t"<<premium<<"\t|\t"<<pertamax<<"\t|\t"<<biosolar<<"\t|"<<endl;
}
cout<<"---------------------------------------------------------"<<endl;
return 0;
}
#include <iostream>
using namespace std;

int main() {
int pilihan, R1,R2,R3;
float Rs, Rp;

cout<<"PILIHAN : "<<endl;
cout<<"1. SERI"<<endl;
cout<<"2. PARALEL"<<endl;
cout<<"masukkan pilihan anda (1/2) : ";cin>>pilihan;

switch (pilihan){
case 1:
cout<<"R1 : ";cin>>R1;
cout<<"R2 : ";cin>>R2;
cout<<"R3 : ";cin>>R3;
Rs=R1+R2+R3;
cout<<"Total rangkaian seri : "<<Rs<<endl;
break;
case 2:
cout<<"R1 : ";cin>>R1;
cout<<"R2 : ";cin>>R2;
cout<<"R3 : ";cin>>R3;
Rp=(1/((1/R1) + (1/R2) + (1/R3)));
cout<<"Total rangkaian paralel : "<<Rp<<endl;
break;
}
return 0;
}
Program Rangkaian_Listrik;
{dibaca 3 tahanan R1,R2 dan R3 kemudian tampilkan rangkaian total dalam
seri atau paralel}

var
        pilihan:integer;
        R1, R2, R3, Rs, Rp:real;
begin
        writeln('PILIHAN : ');
        writeln('1. SERI');
        writeln('2. PARALEL');
        write('masukkan pilihan anda (1/2) : ');readln(pilihan);

        case pilihan of
          1 : begin
                write('R1 : ');readln(R1);
                write('R2 : ');readln(R2);
                write('R3 : ');readln(R3);
                Rs:=(R1 + R2 + R3);
                writeln('Total rangkaian seri :',Rs);
              end;
          2 : begin
                write('R1 : ');readln(R1);
                write('R2 : ');readln(R2);
                write('R3 : ');readln(R3);
                Rp:=(1/ (1/R1 + 1/R2 + 1/R3) );
                writeln('Total rangkaian paralel :',Rp);
              end;
end;
end.

Kamis, 25 Juni 2015

program tukar_tiga_bilangan
{di baca 3 bilangan integer A,B,C ditukar ketiga bilangan dan tampilkan hasilnya}

Deklarasi :
        A, B, C, D : integer

Algoritma :
        read(A, B, C)
        D ? A
        A ? B
        B ? C
        C ? D
        write(A, B, C)

Program dalam Bahasa Pascal
program tukar_tiga_bilangan;
{di baca 3 bilangan integer A,B,C ditukar ketiga bilangan dan tampilkan hasilnya}

var
        A,B,C,D:integer;

begin
        write('masukkan bilangan A : '); readln(A);
        write('masukkan bilangan B : '); readln(B);
        write('masukkan bilangan C : '); readln(C);
        D:=A;
        A:=B;
        B:=C;
        C:=D;
        writeln('A = ',A);
        writeln('B = ',B);
        writeln('C = ',C);
end.


Program dalam Bahasa C++
#include <iostream>
using namespace std;

int main() {
int A, B, C, D;

cout<<"Masukkan bilangan A : ";cin>>A;
cout<<"Masukkan bilangan B : ";cin>>B;
cout<<"Masukkan bilangan C : ";cin>>C;
D=A;
A=B;
B=C;
C=D;
cout<<"A : "<<A<<endl;
cout<<"B : "<<B<<endl;
cout<<"C : "<<C;
return 0;
}
Program Hitung_Dua_Pecahan
{Dibaca dua buah pecahan P1 dan P2, hitunglah junlah dua pecahan, pengurangan,
perkalian dan pembagian}

Deklarasi :
type Pecahan : record  <pb : integer, py : integer>
        P1,P2,jml,krg,kali,bagi : pecahan

Algoritma :
       read(P1.pb, P1.py)
       read(P2.pb, P2.py)
       jml.pb ? (P1.pb*P2.py)+(P1.py*P2.pb)
       jml.py ? (P1.py*P2.py)
       krg.pb ? (P1.pb*P2.py)-(P1.py*P2.pb)
       krg.py ? (P1.py*P2.py)
       kali.pb ? P1.pb*P2.pb
       kali.py ? P1.py*P2.py
       bagi.pb ? P1.pb*P2.py
       bagi.py ? P1.py*P2.pb
       write(jml.pb,' /', jml.py)
       write(krg.pb, '/', krg.py)
       write(kali.pb, '/', kali.py)
       write(bagi.pb ,'/', bagi.py)
Program dalam Bahasa Pascal
Program Hitung_Dua_Pecahan;
{Dibaca dua buah pecahan P1 dan P2, hitunglah junlah dua pecahan, pengurangan,
perkalian dan pembagian}

type Pecahan = record
                        pb, py:integer;
                        end;
var
        P1,P2,jml,krg,kali,bagi:pecahan;

begin
       write('pb : ');readln(P1.pb);
       write('py : ');readln(P1.py);
       write('pb : ');readln(P2.pb);
       write('py : ');readln(P2.py);
       jml.pb:=(P1.pb*P2.py)+(P1.py*P2.pb);
       jml.py:=(P1.py*P2.py);
       krg.pb:=(P1.pb*P2.py)-(P1.py*P2.pb);
       krg.py:=(P1.py*P2.py);
       kali.pb:=P1.pb*P2.pb;
       kali.py:=P1.py*P2.py;
       bagi.pb:=P1.pb*P2.py;
       bagi.py:=P1.py*P2.pb;
       writeln('jumlah : ',jml.pb,'/',jml.py);
       writeln('kurang : ',krg.pb,'/',krg.py);
       writeln('kali : ',kali.pb,'/',kali.py);
       writeln('bagi : ',bagi.pb,'/',bagi.py);
end.


Program dalam Bahasa C++
#include <iostream>
using namespace std;

int main() {
struct pecahan{
float Pb, Py;
}p1, p2, jml, krg, kali, bagi;

cout<<"Pb : "; cin>>p1.Pb;
cout<<"Py : "; cin>>p1.Py;
cout<<"Pb : "; cin>>p2.Pb;
cout<<"Py : "; cin>>p2.Py;
cout<<endl;
jml.Pb=(p1.Pb*p2.Py)+(p1.Py*p2.Pb);
jml.Py=p1.Py*p2.Py;

krg.Pb=(p1.Pb*p2.Py)-(p1.Py*p2.Pb);
krg.Py=p1.Py*p2.Py;

kali.Pb=(p1.Pb*p2.Pb);
kali.Py=(p1.Py*p2.Py);

bagi.Pb=(p1.Pb*p2.Py);
bagi.Py=(p1.Py*p2.Pb);
cout<<"jumlah = "<<jml.Pb<<"/"<<jml.Py<<endl;
cout<<"kurang = "<<krg.Pb<<"/"<<krg.Py<<endl;
cout<<"kali = "<<kali.Pb<<"/"<<kali.Py<<endl;
cout<<"bagi = "<<bagi.Pb<<"/"<<bagi.Py<<endl;
return 0;

}
Program Konversi_Nilai
{dibaca nilai ujian mahasiswa dalam nilai angka dengan ketentuan, nilai
80-100=A, nilai 65-79=B, nilai 55-64=C, nilai 40-54=D, nilai <40=E,
kemudian konversikan kedalam bentuk huruf}

Deklarasi :
        nilai : real

Algoritma :
        read(nilai)
        if (nilai>=80) and (nilai<=100) then
            write('A')
        else
           if (nilai>=65) and (nilai<=79) then
              write('B')
           else
              if (nilai>=55) and (nilai<=64) then
                 write('C')
              else
                 if (nilai>=40) and (nilai>=54) then
                   write('D')
                 else
                    write('E')
                endif
             endif
         endif
      endif