Nama : Feri Agustina No.HP : 081.326.611.168 Email : feriag@yahoo.com feriagustina@gmail Alamat : Perum Beringin Lestari C-155 Ngaliyan Mata Kuliah : Algoritma dan pemrograman Jumlah SKS : 4 SKS Jenis : Teori/Praktikum Penilaian : 50%(T) + 50%(P) ----------------------------- 0-49 : E 50-59 : D 60-69 : C 70-84 : B 85-100: A Nilai UAS : 35% Nilai UTS : 25% Nilai Tugas : 40% ------------------------------------------------------------- Algoritma : Langkah-langkah Sistematis untuk Menyelesaikan masalah 1. Melihat Jam 2. Turun dari tempat tidur 3. Berjalan ke kamar mandi 4. Buka Pintu KM 5. Masuk KM 6. Tutup Pintu KM 7. Lepas Baju dan Celana 8. Ambil Air dengan Gayung 9. Basahi Badan 10. Ambil Sabun 11. Sabunan 12. dst.... ------------------------------ Pak Agung ingin memasang keramik dikamar tidurnya. Buatlah "Algoritma" untuk menentukan berapa uang yang harus dikeluarkan oleh pak agung untuk MEMBELI keramiknya saja 1. Ambil Alat ukur 2. Ukurlah Panjang KT nya 3. Ukurlah Lebar KT nya 4. Hitunglah LUAS dari P*L KTnya 5. Tentukan Panjang Keramik 6. Tentukan Lebar Keramik 7. Hitung Luas KR nya 8. Hitung JML KR dari : Luas KT / Luas KR 9. Tentukan isikeramik/dus 10. Tentukan JMLDUS dari : Jml KR/ isikrmpdus 11. Bulatkan keatas Jmldus 12. Tentukan Harga Keramik/Dus 13. Hitung TOTAL UANG dari bulatkan JMLDUS * Harga Keramik Agoritma BULATKAN : if mod(x,1) > 0 z = x - mod(x,1) + 1 else z = x ---------------------------------------------------------- FIK UDINUS menyelenggarakan Lomba Menyanyi bertajuk FIK IDOL. Setiap peserta akan unjuk kebolehannya diatas panggung dan akan dinilai oleh 4 orang juri. masing-masing juri akan memberikan nilai dengan range antara 0-100. Kemudian panitia akan menghitung NILAI AKHIR dari setiap peserta dengan cara : a. Nilai Juri yang paling Besar diHilangkan b. Nilai Juri yang paling Kecil diHilangkan c. Sisa dari Nilai tersebut (2 juri) akan dihitung RATA2nya Buatlah "ALGORITMA" untuk membuat sistem perhitungan nilai yang bisa digunakan oleh PANITIA FIK IDOL CLUE : A=80, B=40, C=90, D=65 Big1 = ((A+B)+abs(A-B))/2 Big2 = small = ((A+B)-abs(A-B))/2 --------------------------------------------------------------- REVIEW DASAR PEMROGRAMAN : 1. Variabel dan Type Data Variabel adalah Penampung Data yang isinya berubah2 Konstanta adalah Penampung Data yang isinya tetap Gubernur DKI menertibkan Kalijodo Umur saya 20 tahun Saya Kuliah di UDINUS Data adalah Fakta yang sebenarnya Informasi adalah Data yang sudah diolah contoh variabel : umur, usia, x, a, hfbhdhf Syarat2 nya : tidak boleh menggunakan : - Spasi - spesial character - diawal dengan Angka - Jangan panjang2 *) TYPE DATA - Alphabetik - Character : 1 huruf (Nilai Huruf di udinus) - char - String : > 1 huruf - char + [99] - Alphanumerik - Bil. Bulat - Integer : int - Bil. Pecahan - Real/Float : float Nomer Telpon Udinus adalah 0243517261 char telp[20]; 2. Statement Input dan Output Input adalah proses memasukan data kedalam variabel - scanf - char scanf %c + &variabel - string scanf %s + &variabel atau gets - int scanf %d + &variabel - float scanf %f + &variabel Output adalah Menampilkan isi data dilayar monitor - char scanf %c - string scanf %s - int scanf %d - float scanf %f Soal : Pak Gatotkaca terbang dari Tugu Muda Semarang menuju Tugu Monas Jakarta. Dia Menempuh Perjalanan selama N detik. Buatlah Algoritma untuk Mengkonversi N detik tersebut menjadi berapa Jam, berapa Menit dan Berapa Detik Misal : N=8765 detik Hasil : .... Jam .... Menit .... Detik Algoritma : 1. Input N 2. jam=n/3600 3. menit=mod(n,3600)/60 4. detik=mod(n,60) 5. output detik Soal maning : UDINUS akan mengirimkan bantuan kemanusiaan untuk korban merapi bantuan berupa paket sembako yang masing-masing paket dikemas dalam bentuk tabung. Semua paket sembako akan dikirimkan menggunakan TRUCK. Buatlah Algoritma untuk menentukan berapa paket sembako yang dapat dimasukan kedalam TRUCK? Algoritma : 1. Input t_tab, j_tab, p_truk, l_truk, t_truk 2. vol_tab = 3.14 * j_tab * j_tab * t_tab 3. vol_truk = p_truk * l_truk * t_truk 4. jml_tabung = vol_truk / vol_tab 5. output jml_tabung 3. Statement Kondisi : IF Biasa disebut dengan statemen JIKA MAKA yaitu proses pemilihan sebuah atau banyak statemen dari banyak pilihan statemen. Misal ada masalah : Jika Nilainya diatas 60 maka statusnya LULUS dan jika dibawah 60 maka statusnya GAGAL if nilai > 60 then status="LULUS" else status="GAGAL" yang perlu diperhatikan dalam statemen IF adalah ada 3 komponen : a. variabel Acuan b. Operator Matematika c. Pembandingnya IF [variabel Acuan] [Operator Matematika] [Pembanding] contoh : IF sex='L' then ket="LAKI-LAKI" Jajal : Jika Lapar Makanlah If perut="LAPAR" then makanlah() soal : SALON "RUDI HADISUWITO" siap menerima jasa berupa Potong Rambut, Facial, Creambath masing-masing harga jasanya 100, 200 dan 300. Salon tersebut juga menyediakan Mini cafe dimana pelanggan dapat memesan sejumlah makanan atau minuman Di bulan ini ada promo berupa diskon 10% untuk pelanggan Laki-Laki dan 15% untuk pelanggan Perempuan dari harga jasa. Dalam Rangka kelahiran Cucu Pertama Pemilik Salon, setiap pelanggan akan mendapatkan Souvenir dengan ketentuan POTONG RAMBUT FACIAL CREAMBATH Total bayar > 500 Stiker Topi Kacamata > 750 Topi Kacamata Kaos > 1000 Kacamata Kaos Jaket ALGORitMA : 1. Input nama_plg 2. Input sex 3. Input jasa 4. if jasa=1 then by_jasa=100 else if jasa=2 then by_jasa=200 else if jasa=3 by_jasa=300 else by_jasa=0 5. Input by_cafe 6. if sex='L' then diskon = 0.1 * by_jasa else diskon = 0.15 * by_jasa 7. Total = by_jasa-diskon+by_cafe 8. if (total>500 or Total<=750) and jasa=1 then souvenir="STIKER" else if (total>500 or Total<=750) and jasa=2 then souvenir="TOPI" else if (total>500 or Total<=750) and jasa=3 then souvenir="KACAMATA" else if (total>750 or Total<=1000) and jasa=1 then souvenir="TOPI" else if (total>750 or Total<=1000) and jasa=2 then souvenir="KACAMATA" else if (total>750 or Total<=1000) and jasa=1 then souvenir="KAOS" DST.... if jasa=1 then if(total>500 or total<=750) souvenir="STIKER" else if(total>750 or total<=1000) souvenir="TOPI" else souvenir="KACAMATA" else if jasa=2 then if(total>500 or total<=750) souvenir="TOPI" else if(total>750 or total<=1000) souvenir="KACAMATA" else souvenir="KAOS" dst... if(total>500 or total<=750) then if jasa=1 then souvenir="STIKER" else if jasa=2 then souvenir="TOPI" else souvenir="KACAMATA" else if total>750 or total<=1000 then if jasa=1 then souvenir="TOPI" else if jasa=2 then souvenir="KACAMATA" else souvenir="KAOS" -------------------------------- Cara Penyajian Algoritma yang akan dikita gunakan : PSEUDOCODE JUDUL ......... KAMUS ......... ALGORITMA contoh : Algoritma menghitung LUAS SEGITIGA SAMA KAKI JUDUL Luas_S3_SamaKaki KAMUS alas : integer {Alas Segitiga} tinggi : integer {Tinggi Segitiga} luas : float {Luas Segitiga} ALGORITMA input alas, tinggi luas = 0.5 * alas * tinggi output luas --------------------------------------------------- Materi dan Tugas akan di UPLOAD di SIADIN jam 11.00 Siang Ini Cekidot!!!!! 4. Statement Perulangan / LOOP adalah proses mengulang2 sebuah atau lebih statemen yang diperlu diperhatikan : a. Apa yang diulang b. Diulang berapa kali - Nilai awal - Batasan / nilai akhir - counter contoh : Menampilkan tulisan "UDINUS" 10 kali for x=1 to 10 step 1 output "UDINUS" ada 3 bentuk LOOP a. FOR sintak : for [nilai awal] to [batasan] step [counter] [yang diulang] b. WHILE .. DO sintak : [Nilai Awal] WHILE [Batasan] DO [yang diulang] [counter contoh : x=1 while x<=10 do output "UDINUS" x=x+1 c. REPEAT UNTIL Sintak : [Nilai Awal] REPEAT [yang diulang] [Counter] Until [Batasan] contoh : x=1 Repeat output "UDINUS" x=x+1 Until x>10 Kasus : Misal sejenis amuba membelah diri setiap 2 menit sekali. Berapa banyak amuba dalam waktu N menit? JUDUL Amuba_Membelah_diri_2_menit_sekali KAMUS amuba : integer {Jumlah Amuba} N : Integer {Jumlah Menit} x : integer {Variabel Loop} ALGORITMA amuba=1 input N for x=0 to N if mod(N,2)=0 amuba = amuba * 2 output "Jadi total amubanya adalah amuba" ------------------------------------------------------------ input m m=13 a=1 n=m/2 n=6.5 if mod(n,1)==0 for i=1 to n a=a*2 else for i=1 to n a=a*2 a=a+sqrt(2,2) output a ----------------------------------------------------------- 5. Type Data Array adalah type data yang mampu menampung banyak data setiap data yang masuk harus ditunjukkan nomer indek datanya dan setiap data yang ditampilkan juga harus disertai nomer indeknya kasus : Sekumpulan anak TK akan diajak bermain dilapangan. permainanya ada 2 yaitu Petak Umpet dan Kejar2an masing-masing anak akan didata umurnya. anak yang umurnya diatas rata2nya akan diajak bermain petak umpet dan sisanya akan diajak bermain kejar2an. Buatlah Algoritma untuk menentukan berapa JUMLAH anak yang bermain Petak Umpet dan Berapa yang diajak bermain kejar2an. JUDUL Anak_TK KAMUS N : integer {Jumlah Anak TK} x : integer {variabel LOOP} umur : array of integer [100] jml : integer {Jumlah Umur Semua Anak TK} rata : float {Rata2 Umur Anak TK} pu : integer {Jumlah Anak Bermain Petak Umpet} kj : integer {Jumlah Anak Bermain Kejar2an} ALGORITMA Input N for x=1 to N Input umur[x] jml=0 for x=1 to N jml=jml+umur[x] rata=jml/N pu=0 kj=0 for x=1 to N if umur[x] > rata pu = pu + 1 else kj = kj + 1 output pu, kj 6. Procedure dan Function