soal alpro yaya.doc

Upload: diliyanzah-asri

Post on 08-Feb-2018

238 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/22/2019 Soal Alpro yaya.doc

    1/23

    Soal Durasi:

    tuliskanlah algoritma untuk membaca dua buah besaran bertype jam yang mewakili awal

    dan akhir suatu percakapan telpon dan menuliskan durasi waktu dalam detik yang dihitung

    dari kedua jam yang dibaca.

    Type jam terdiri jam, menit, dan detik dan dipakai system jam dengan jam 00:00:00 am

    sampai dengan 11:59:59 pm.

    !enyelesaian :

    "ari soal diatas kita dapat kita ketahui input, proses dan outputnya.

    #nput $ waktu awal dan akhir percakapan.

    !roses $ waktu akhir kurang waktu awal.

    %utput $ selisih antara dua waktu.

    "alam menginput waktu &jam'menit'detik( tidak boleh melebihi &11'59'59( oleh

    karena itu apabila menginputkan lebih dari 11 untuk jam, lebih dari 59 untuk menit dan detik

    maka program akan meminta membaca kembali input waktu.

    "ari )ormat am'pm tersebut ada hal yang harus di perhatikan dalam proses

    pengurangan waktu akhir dengan waktu akhir. *aitu :

    +pabila detik pada waktu akhir lebih kecil dari waktu awal, maka detik akhir akan

    ditambah 0 dan menit akhir akan dikurang 1, setelah itu baru dikurangkan dengan

    detik awal.

    -ika waktu akhirnya sama atau lebih besar dari waktu awal, maka langsung

    dikurangkan dengan detik awal.

    -ika menit akhir pada waktu akhir lebih kecil dari waktu awal, maka menit akhir

    ditambah 0 dan jam akhir dikurang1, setelah itu baru dikurangkan dengan menit

    awal.

    -ika menit akhir sama atau lebih besar dari menit awal maka langsung di kurangi

    dengan menit awal.

  • 7/22/2019 Soal Alpro yaya.doc

    2/23

    +pabila )ormat am'pm pada awal dan akhir tidak sama, maka jam akhir ditambah 1.

    "an setelah itu baru dikurangkan dengan jam awal.

    +pabila )ormat am'pm sama dan jam akhir lebih kecil dari jam awal, maka jam akhir

    ditambah / dan setelah itu dikurangkan dengan jam awal.

    +pabila )ormat am'pm sama dan jam akhir sama atau lebih besar jam awal, maka

    langsung saja jam akhir dikurang dengan jam awal.

    "an dalam proses menampilkan durasi pada masing ariable hasil jam, hasil menit, hasil

    detik tidak dapat langsung ditampilkan karena ada kemungkinan terjadi dari menit atau detik

    ada yang lebih dari 59. ntuk memecahkan masalahnya maka :

    -ika hasil detik lebih dari 59 maka hasil detik kurangi 0 dan hasil menit tambah 1

    -ika hasil menit lebih dari 59 maka hasil menit kurangi 0 dan hasil jam tambah 1

    2erikut adalah hasil printscreen apabila program di runningkan

    Gambar 1 awal membuka program Gambar 2 menginput data

    Gambar 3 hasil penghitungan

  • 7/22/2019 Soal Alpro yaya.doc

    3/23

    Algoritma :

    33333333333333333333333333333333333333333333333333333333333333333333333333333333333

    !rogram "urasi

    33333333333333333333333333333333333333333333333333333333333333333333333333333333333

    4amus :

    hasil3detik,hasil3menit,hasil3jam,jam1, jam,menit1,menit,detik1,detik : integer

    ap1,ap ,lagi: char

    33333333333333333333333333333333333333333333333333333333333333333333333333333333333

    +lgoritma :

    lagi 6 7*7

    while lagi $ 7*7 do

    input &jam1(

    while jam1 8 11 do

    input &jam1(

    input &menit1(

    while menit1 8 59 do

    input &menit1(

    input &detik1(

    while detik1 8 59 do

    input &detik1(

    input&ap1(

    while &ap 18 7+7( and &ap1 8 7!7( do

    input &+!1(

    input &jam(

    while jam8 11 do

    input &jam(

    input &menit(

    while menit 8 59 do

    input &menit(

    input &detik(

    while detik 8 59 do

    input &detik(

    input&ap(

    while &ap 8 7+7( or &ap 8 7!7( do

    input &ap(

    i) detik detik1 then

  • 7/22/2019 Soal Alpro yaya.doc

    4/23

    menit 6 menit 1

    detik 6 detik ; 0

    hasil3detik6 detik detik1

    else

    hasil3detik 6 detik detik1

    i) menitmenit1 then

    jam 6 jam 1

    menit 6 menit ; 0

    hasil3menit 6 menit menit1

    else

    hasil3menit 6 menitmenit1

    i) &ap 8 ap1( then

    jam 6 jam ; 1

    hasil3jam6 jam jam1

    else i) &jamjam1( then

    jam 6 jam ; /

    hasil3jam 6 jam jam1

    else

    hasil3jam 6 jam jam1

    i) hasil3detik8 59 then

    hasil3detik 6 hasil3detik 0

    hasil3menit 6 hasil3menit;1

    else i) hasil3menit 8 59 then

    hasil3menit 6 hasil3menit 0

    hasil3jam 6 hasil3jam ;1

    output& 7durasi adalah 7 hasil3jam , 7:7 ,hasil3menit, 7:7 ,hasil3detik(

    input&lagi(

    333333333333333333333333333333333333333333333333333333333333333333333333333

  • 7/22/2019 Soal Alpro yaya.doc

    5/23

    Program Pascal

    program durasi

    uses wincrt

    ar

    lagi : char

    ap1,ap : string,jam1,jam,menit1,menit,detik1,detik:integer

    begin

    lagi :$ 7*7

    while lagi $ 7*7 do

    begin

    clrscr

    goto?y&1,1( writeln&7pertama $ : : @ &11'1'1A +'!@(7(

    goto?y&1,( writeln&7kedua $ : : @ &11'1'1A +'!@(7(

    goto?y&11,1(readln&jam1(

    while jam18 11 do

    begin

    goto?y&11,1(readln&jam1(

    end

    goto?y&1/,1(readln&menit1(

    while menit18 59 do

    begin

    goto?y&1/,1(readln&menit1(

    end

    goto?y&1B,1(readln&detik1(

    while detik18 59 do

    begin

    goto?y&1B,1(readln&detik1(

    end

    goto?y&0,1(readln&ap1(

    while &ap187+7( and &ap1 87!7( do

    begin

    goto?y&0,1(readln&ap1(

    end

    goto?y&11,(readln&jam(

    while jam 8 11 do

  • 7/22/2019 Soal Alpro yaya.doc

    6/23

    begin

    goto?y&11,(readln&jam(

    end

    goto?y&1/,(readln&menit(

    while menit 8 59 do

    begin

    goto?y&1/,(readln&menit(

    end

    goto?y&1B,(readln&detik(

    while detik 8 59 do

    begin

    goto?y&1B,(readln&detik(

    end

    goto?y&0,(readln&ap(

    while &ap 8 7+7( and &ap 8 7!7( do

    begin

    goto?y&0,(readln&ap(

    end

    i) detik detik1 then

    begin

    menit :$ menit 1

    detik :$ detik ; 0

    + :$ detikdetik1

    end

    else

    begin

    + :$ detikdetik1

    end

    i) menit menit1 then

    begin

    jam :$ jam 1

    menit :$ menit ; 0

    2 :$ menitmenit1

    end

    else

    begin

  • 7/22/2019 Soal Alpro yaya.doc

    7/23

    2 :$ menitmenit1

    end

    i) &ap1 8 ap( then

    begin

    jam :$ jam ;1

    > :$ jam jam1

    end

    else i) &jamjam1( then

    begin

    jam :$ jam ;/

    > :$ jam jam1

    end

    else

    > :$ jam jam1

    i) + 8 59 then

    begin

    + :$ + ; 0

    2 :$ 2 ;1

    end

    i) 2 8 59 then

    begin

    2 :$ 20

    > :$ > ; 1

    end

    writeln&>,7:7,2,7:7,+(

    writeln&7ulang C &*'T(7(

    readln&lagi(

    end

    end.

  • 7/22/2019 Soal Alpro yaya.doc

    8/23

    Doal konersi suhu :

    dibaca sebuah besaran riil, yang mewakili hasil pengukuran temperature dalam derjat

    celcius. Eitung ekuialennya dalam derajat )ahrenhaet, rheamur dan kelin

    !enyelesaian :

    "ari data diatas dapat di tentukan input, proses dan optput, yaitu :

    #nput : suhu derajat celcius

    !roses : konersi derajat celcius ke rheamur, )ahrenheit, dan kelin

    %utput : menampilkan hasil konersi

    "alam proses konersi ada beberapa rumus yaitu :

    Fheamur $ /'5 ? celcius

    Gahrenheit $ &9'5( ? celcius

    4elin $ celcius ;BA

    Easil dari printscreen dari program konersi suhu adalah :

    Gambar 4 awal tampilan suhu Gambar 5 proses dan output suhu

  • 7/22/2019 Soal Alpro yaya.doc

    9/23

    Algoritma :

    33333333333333333333333333333333333333333333333333333333333333333333333333333333333

    !rogram konersi

    33333333333333333333333333333333333333333333333333333333333333333333333333333333333

    4amus :

    >,F,G,4 : real

    33333333333333333333333333333333333333333333333333333333333333333333333333333333333

    +lgoritma :

    input &>(

    F 6 /'5 H >

    G 6 9'5 H > ; A

    4 6 > ; BA

    output &7konersi >elcius ke Feamur adalah 7,F(

    output &7konersi >elcius ke Gahrenheit adalah 7,G(

    output &7konersi >elcius ke 4elin adalah 7,4(

    33333333333333333333333333333333333333333333333333333333333333333333333333333333333

  • 7/22/2019 Soal Alpro yaya.doc

    10/23

    Program Pascal :

    program konersi

    uses wincrt

    ar

    F,>,G,4: real

    lagi : char

    begin

    lagi :$ 7*7

    while lagi$7*7 do

    begin

    clrscr

    writeln&7masukan nilai celcius7(

    readln&>(

    F :$ > H 0.I

    G :$&> H 1.I( ; A

    4 :$ > ; BA

    writeln&>:9:, 7derajat celcius adalah 7 , G:9:, 7)ahrenheit7(

    writeln&>:9:, 7derajat celcius adalah 7 , F:9:, 7reamur7(

    writeln&>:9:, 7derajat celcius adalah 7 , 4:9:, 7kelin7(

    writeln& 7ulangC &*'T(7(

    readln&lagi(

    end

    end.

  • 7/22/2019 Soal Alpro yaya.doc

    11/23

    Gambar 6 awal tampilan deret

    Soal deret ganjil :

    2uatlah algoritma untuk menampilkan deret berikut :

    1 A 5 B JJ.

    4etentuan :

    a. >acah yang ditampilkan adalah K. misal : jika n $5, maka program akan

    menampilkan : 1 A 5 B 9.

    b. !engulangan untuk program menggunakan while

    c. 2uat juga jumlah dari semua suku tersebut dan tampilkan hasilnya

    d. 2uat juga program pascalnya

    !enyelesaian :

    ntuk memebuat program terserbut saya menggunakan A aiabel, yang digunakan

    untuk :

    ntuk menginput sampai ke suku berapa yang ingin ditampilkan.

    @enampilkan suku ken sesuai dengan pengulangan. !engulangan dilakukan

    sebanyak input dari use. "an setiap pengulangan suku ditambah dari sukusebelumnya.

    @enampilkan jumlah suku yang telah ditampilkan.

    Easil printscreen dari program tersebut adalah

    Gambar 7 proses dan output deret

  • 7/22/2019 Soal Alpro yaya.doc

    12/23

    Algoritma :

    33333333333333333333333333333333333333333333333333333333333333333333333333333333333

    !rogram deretbil

    33333333333333333333333333333333333333333333333333333333333333333333333333333333333

    4amus :

    suku,jumlah3suku,input3deret : integer

    33333333333333333333333333333333333333333333333333333333333333333333333333333333333

    +lgoritma :

    input &input3deret(

    suku 6 1

    jumlah3suku 6 0

    while input3deret 8 0 do

    output &suku (

    input3deret 6 input3deret 1

    jumlah3suku 6 jumlah3suku ; suku

    suku 6 suku ;

    output &jumlah suku(

    33333333333333333333333333333333333333333333333333333333333333333333333333333333333

  • 7/22/2019 Soal Alpro yaya.doc

    13/23

    Program Pascal :

    program deret

    uses wincrt

    ar

    ulang : char

    a,b,n : integer

    begin

    ulang :$ 7*7

    while ulang $ 7*7 do

    begin

    clrscr

    writeln&7berapa suku yang ingin anda tampilkanC7(

    readln&n(

    + :$ 1

    b :$ 0

    while n8$1 do

    begin

    write&7 7,a(

    n :$ n1

    b :$ b;a

    a :$ a;

    end

    writeln

    writeln&7total$7,b(

    writeln&7ulang C &*'T(7(

    readln&ulang(

    end

    end.

  • 7/22/2019 Soal Alpro yaya.doc

    14/23

    Soal deret Fibonacci :

    2uat algoritma untuk menampilkan deret Gibonacci

    0 1 1 A 5 I 1A 1 J..

    4etentuan :

    a. >acah suku yang ditampilkan adalah K. misal : jika K $ B maka program akan

    menampilkan 0 1 1 A 5 I

    b. !engulangan untuk program menggunakan repeat J. ntil.

    c. Tampilkan juga semua suku ganjil pertama, ketiga, kelima dst dan jumlahkan.

    Tampilkan hasilnya

    d. 2uat juga program pascalnya

    Algoritma :

    33333333333333333333333333333333333333333333333333333333333333333333333333333333333

    !rogram )ibonacci

    33333333333333333333333333333333333333333333333333333333333333333333333333333333333

    4amus :

    suku3n,bilangan,temp,jumlah3suku3ganjil,cacah3ganjil,jumlah,pengulangan : integer

    33333333333333333333333333333333333333333333333333333333333333333333333333333333333

    +lgoritma :

    input &pengulangan(

    i) pengulangan 8$1 then

    suku3n 6 1

    bilangan 6 0

    temp 6 0

    jumlah3suku3ganjil 6 0

    cacah3ganjil 6 1

    repeat

    output &bilangan(

    i) cacah3ganjil mod 8 0 then

    jumlah3suku3ganjil 6 jumlah3suku3ganjil ; bilangan

    temp 6 bilangan

    bilangan 6 suku3n

    suku3n 6 temp ; bilangan

    pengulangan 6 pengulangan 1

  • 7/22/2019 Soal Alpro yaya.doc

    15/23

    jumlah 6 jumlah ; temp

    cacah3ganjil 6cacah 3ganjil ;1

    until pengulangan $0

    output &jumlah(

    output &jumlah3suku3ganjil(

    end.

    33333333333333333333333333333333333333333333333333333333333333333333333333333333333

    Program Pascal :

    program )ibonacci

    uses wincrt

    ar

    a,b,c,d,e,),n : longint

    lagi : char

    begin

    lagi :$ 7y7

    while lagi $ 7y7 do

    begin

    clrscr

    write &7masukkan nC 7( readln &n(

    i) n 8$ 1 then

    begin

    a :$ 1

    b :$ 0

    c :$ 0

    d :$ 0

    e :$ 0

    ) :$ 1

    repeat

    begin

    write &b,7 7(

    i) ) mod 8 0 then

    begin

    e :$ e ; b

    end

    c :$ b

    b :$ a

  • 7/22/2019 Soal Alpro yaya.doc

    16/23

    a :$ c ; b

    n :$ n 1

    d :$ d ; c

    ) :$ ) ; 1

    end

    until n $ 0

    writeln&77(

    writeln &7jumlah deret tersebut adalah 7,d(

    writeln &7jumlah suku ganjil adalah 7,e(

    end

    write &7ulangC &y't(7(readln &lagi(

    end

    end.

    Easil dari printscreen program diatas adalah

    gambar 8 awal Fibonacci gambar 9 proses dan output

  • 7/22/2019 Soal Alpro yaya.doc

    17/23

    Soal program bintang:

    2uatlah algoritma dalam pascal untuk menampilkan bentuk berikut ini :

    H

    H H

    H H H

    H H H H

    2uat juga bentukbentuk lainnnya.

    +lgoritma :333333333333333333333333333333333333333333333333333333333333333

    program cetak bintang

    333333333333333333333333333333333333333333333333333333333333333

    kamus :

    pengulangan,temp,cacah : integer

    333333333333333333333333333333333333333333333333333333333333333

    algoritma :

    input &pengulangan(

    temp 6 0

    cacah 6 1

    while pengulangan 8 0 do

    temp 6 cacah

    pengulangan 6 pengulangan 1

    while cacah 8 0 do

    write &7H 7(

    cacah 6 cacah1

    cacah 6 temp

    cacah 6 cacah ; 1

    writeln

    333333333333333333333333333333333333333333333333333333333333333

  • 7/22/2019 Soal Alpro yaya.doc

    18/23

    Program Pascal :

    program bintang

    uses wincrt

    ar

    a,b,c : integer

    lagi : char

    begin

    lagi :$ 7*7

    while lagi $ 7*7 do

    begin

    write &7masukkan banyak cetak bintangC 7(readln&a(

    b :$ 0

    c :$ 1

    while a 8 0 do

    begin

    b :$c

    a:$a1

    while c 8 0 do

    begin

    write&7H 7(

    c :$ c1

    end

    c :$ b

    c :$ c ; 1

    writeln

    end

    writeln&7mau ulangC &*'T(7(

    readln&lagi(

    end

    end.

  • 7/22/2019 Soal Alpro yaya.doc

    19/23

    Easil printscreen program diatas adalah

    Lambar10 awal mulai gambar 11 proses dan output

    2uat algoritma untuk menampilkan matri? 5?5 berikut ini

    0 1 0 1 0

    1 0 1 0 1

    0 1 0 1 0

    1 0 1 0 1

    0 1 0 1 0

    2uat juga program pascalnya

  • 7/22/2019 Soal Alpro yaya.doc

    20/23

    Algoritma :

    33333333333333333333333333333333333333333333333333333333333333333333333333333333333333

    program matrik

    33333333333333333333333333333333333333333333333333333333333333333333333333333333333333

    kamus :

    ulang3horisontal,temp,pengulangan,cacah3ertikal,cacah3horisontal : integer

    33333333333333333333333333333333333333333333333333333333333333333333333333333333333333

    +lgoritma :

    input &pengulangan(

    cacah3ertikal 6 1

    cacah3horisontal 6 1

    ulang3horisontal 6 pengulangan

    while pengulangan 8 0 do

    temp 6 ulang3horisontal

    i) && cacah3ertikal mod ( 8 0( then

    while ulang3horisontal 8 0 do

    i) cacah3horisontal mod 8 0 then

    output &0(

    else

    output &1(

    ulang3horisontal 6 ulang3horisontal 1

    cacah3horisontal 6 cacah3horisontal ; 1

    else

    while ulang3horisontal 8 0 then

    i) &&cacah3horisontal mod ( 8 0( then

    output &1(

    else

    output &0(

    ulang3horisontal 6 ulang3horisontal 1

    cacah3horisontal 6 cacah3horisontal ; 1

    ulang3horisontal 6 temp

    pengulangan 6 pengulangan 1

    cacah3ertikal 6 cacah3ertikal ; 1

  • 7/22/2019 Soal Alpro yaya.doc

    21/23

    33333333333333333333333333333333333333333333333333333333333333333333333333333333333333

    Program Pascal :program matri?

    uses wincrt

    ar

    a,b,n,c1,c : longint

    lagi : char

    begin

    lagi :$ 7*7

    while lagi $ 7*7 do

    begin

    clrscr

    write &7masukkan ordo marti?C 7(readln&n(

    a :$ 0

    a :$ n

    c1 :$ 1

    c :$ 1

    while n 8 0 do

    begin

    b :$ a

    i) &&c1 mod ( 8 0( then

    begin

    while a 8 0 do

    begin

    i) &&c mod ( 8 0( then

    begin

    write &70 7(

    end

    else

    begin

    write &71 7(

    end

    a :$ a 1

  • 7/22/2019 Soal Alpro yaya.doc

    22/23

    c :$ c ; 1

    end

    c :$ 1

    end

    else

    begin

    while a 8 0 do

    begin

    i) &&c mod ( 8 0( then

    begin

    write &71 7(

    end

    else

    begin

    write &70 7(

    end

    a :$ a 1

    c :$ c ; 1

    end

    c :$ 1

    end

    a :$ b

    n :$ n 1

    c1 :$ c1 ; 1

    writeln

    end

    writeln&7mau ulang &*'T(CC7(

    readln&lagi(

    end

    end.

  • 7/22/2019 Soal Alpro yaya.doc

    23/23

    Gambar 12 matri

    Soal warung :+da beberapa menu di warung : batagor dengan harga 1000, soto 000, dan bakso A000.

    2atagor ada dua macam , kuah dan kering, masukan adalah jml3duit. "an pilihan menu. -ika

    memilih batagor, ada masukan tambahan jenisnya yaitu kuah atau kering. Tulis notasi

    algoritma untuk output pilihan menu berserta jumlah harga dan kembalian. !embeli boleh

    mengulang pilihan selama uangnya masih cukup.

    2uat juga program pascalnya.

    Easil printscreen program warung

    Gambar 13 awal tampilan gambar 14 optional menu

    Gambar 15 hasil akhir