EVALUASI MATRIKULASI ANALISA DAN DESAIN ALGORITMA

dokumen-dokumen yang mirip
AHMAD JURNAIDI WAHIDIN

SOAL C++ Created by Yuli Astuti,S.Kom Copyright 2009

SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER STMIK AMIKOM YOGYAKARTA

SUB PROGRAM P E N G A N TA R P R O G R A M S T U D I. Institut Teknologi Sumatera

ARRAY PENGANTAR PROGRAM STUDI. Institut Teknologi Sumatera

P R E T R EM N 5 STRUKTUR LOOPING

Menggunakan 3 variabel A B C. Ada 6 kemungkinan variasi ketiga buah nilai

REVIEW ARRAY. Institut Teknologi Sumatera

Selection / Pemilihan PEMILIHAN

ALGORITHM. 8 Algoritma dengan C++ Dahlia Widhyaestoeti, S.Kom dahlia74march.wordpress.com

STRUKUR KENDALI : PERCABANGAN

MODUL V PERULANGAN. Perulangan digunakan untuk menjalankan satu atau lebih perintah secara berulang selama kondisi tertentu.

BAB VI. STATEMENT CONTROL

Perulangan, Percabangan, dan Studi Kasus

PENGENALAN BAHASA C DAN C++

MODUL 6 PERULANGAN. Contoh1: 1. Pernyataan while Digunakan untuk pengambilan keputusan dan looping. Bentuk Umum:

Struktur Kontrol. 1.Pemilihan (Selection) 2.Pengulangan (Repetition)

MODUL 1 PENGENALAN PROGRAM C++ DAN PERNYATAAN MASUKAN-KELUARAN

Minggu III STRUKTUR PEMILIHAN (KONTROL PROGRAM)

# FOUR LOOPING. JAWABAN 1. #include <stdio.h> #include <conio.h> #define pi void main(){

MODUL ALGORITMA DAN PEMROGRAMAN. STMIK AMIKOM Yogyakarta. Rajif Agung Yunmar, S.Kom., M.Cs.

PERULANGAN PROSES. Proses perulangan ditandai dengan mekanisme yang disebut loop. Proses Loop : Proses yang berulang-ulang

MODUL. Perulangan (Looping) Modul Praktikum C++ Pemrograman Dasar. Semester Genap 2017/2018

PEMROGRAMAN TERSTRUKTUR PERTEMUAN VI KOMPONEN KOMPONEN PEMROGRAMAN TERSTRUKTUR

Pengenalan Array. Array Satu Dimensi

Pernyataan FOR Pernyataan WHILE Pernyataan REPEAT. Dewi Sartika,M.Kom

MODUL 5 PERULANGAN (LOOPING)

PERULANGAN (LOOP) PERNYATAAN WHILE

MODUL PRAKTIKUM. MODUL I - VIII Modul penuntun dan bahan praktikum matakuliah algoritma dan pemograman

OPERASI SELEKSI PEMROGRAMAN C++

Array ARRAY BERDIMENSI SATU. Representasi (Pemetaan) di memori. Lihat gambar dibawah ini, nilai data A (18) dismpan mulai dari alamat 1136 di memori.

Keg. Pembelajaran 5 : Perulangan dalam C++ 1. Tujuan Kegiatan Pembelajaran 2. Uraian Materi while do..while for continue dan break go to

Algoritma dan Pemrograman Lanjut. Pertemuan Ke-7 Pencarian (Searching) 2

PRAKTIKUM 6 PENGULANGAN PROSES 2

MODUL III CONTROL FLOW & FLOWCHART

MATERI/BAHAN PRAKTIKUM PENDAHULUAN DAN PENGENALAN (IDENTIFIER)

STRUKTUR DASAR ALGORITMA DAN PEMROGRAMAN STMIK AMIKOM YOGYAKARTA

Pemrograman I Bab III Tipe Data, Variabel, dan Operasi Perhitungan. Adam Mukharil Bachtiar, S.Kom. Universitas Komputer Indonesia

Object Oriented Programming (OOP)

Pemrograman I Bab V Percabangan. Adam Mukharil Bachtiar, S.Kom. Universitas Komputer Indonesia

MODUL PRAKTIKUM ALGORITMA DAN STRUKTUR DATA April 1, 2010 BAB 8 REKURSIF

Modul Dasar dasar C. 1. Struktur Program di C++

STRUKTUR DASAR PEMROGRAMAN

Struktur Kontrol. (Repetition)

Tutorial 08 Pertemuan 12

BAGIAN A. PILIHAN GANDA Silanglah Jawaban yang Benar Pada Lembar Jawaban. Jawaban benar bernilai 3, salah atau kosong bernilai 0.

Pertemuan 5 PEMILIHAN/PERCABANGAN

PERTEMUAN V PEMROGRAMAN TERSTRUKTUR DENGAN VISUAL C Setiap bahasa C mempunyai satu fungsi dengan nama main (program utama).

Program di bawah ini untuk membaca data kemudian menampilkannya. // array dengan 10 elemen bertipe integer

VARIABEL & TIPE DATA PEMROGRAMAN C++

BAB V INPUT DAN OUTPUT

a. Array berdimensi satu o Setiap elemen array dapat diakses melalui indeks. o Indeks array (subscript) secara default dimulai dari 0.

Algoritma Shell Sort Ascending Dan Binary Sequential Search Menggunakan C

Algoritma dan Struktur Data I 2014

DISUSUN OLEH BAB II C DAN C++ berikut ini: pilih radio HAL 1

DPK UNIVERSITAS BRAWIJAYA MALANG

LAPORAN PRAKTIKUM RESMI QUEUE

Pertemuan 2 ARRAY DIMENSI 1 & 2

Looping : break, continue, nested loop

MODUL I PENGENALAN IDE C++, ALGORITMA DAN PEMROGRAMAN

INPUT OUTPUT. cout. Digunakan untuk mencetak suatu informasi ke layar Contoh : cout << Halo Teknik Informatika

PENGANTAR KOMPUTER & SOFTWARE II PERCABANGAN

PERTEMUAN 3 KONSEP TIPE DATA

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA

Kisi-Kisi Ujian Tengah Semester Algoritma dan Pemrograman Lanjut

PERULANGAN P E N G A N TA R P R O G R A M S T U D I. Institut Teknologi Sumatera

Algoritma dan Pemrograman. Pertemuan Ke-5 Input dan Output

3. Struktur Perulangan dalam C++

PERCABANGAN P E N G E N A L A N P R O G R A M S T U D I T E K N I K I N F O R M AT I K A. Institut Teknologi Sumatera

ARRAY / LARIK. Oleh : Agus Priyanto, M.Kom SEKOLAH TINGGI TEKNOLOGI TELEMATIKA TELKOM. Smart, Trustworthy, And Teamwork

PENGANTAR KOMPUTER & SOFTWARE II PERCABANGAN

BAB I. LARIK (ARRAY) Array (larik) ialah penampung sejumlah data sejenis (homogen) yang menggunakan satu identifier (pengenal).

PRAKTIK MATA PELAJARAN

PENGANTAR KOMPUTER & SOFTWARE II

PENGANTAR KOMPUTER & SOFTWARE II. Pengulangan (For) Tim Pengajar KU Institut Teknologi Sumatera

ARRAY DIMENSI 1 & 2. Array dapat didefinisikan sebagai suatu himpunan hingga elemen yang terurut dan homogen.

Memilih bilangan yang nilainya terbesar atau terkecil dari dua buah bilangan yang ada

UJIAN TENGAH SEMESTER KU1072/PENGENALAN TEKNOLOGI INFORMASI B SEM /2014

BAHASA PEMROGRAMAN 1 (PERTEMUAN 3)

ALGORITHM. 9 Algoritma Menggunakan Control Statement IF. Dahlia Widhyaestoeti, S.Kom dahlia74march.wordpress.


DASAR PEMROGRAMAN. Institut Teknologi Sumatera

Kondisi dan Perulangan

Struktur Kontrol. Contoh, Akan tercetak x is 100 jika nilai yang disimpan pada variable x adalah 100:

KENDALI PROSES. 6.1 PENYELEKSIAN KONDISI (Selection)

Identifier dan Tipe Data

Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu :

Operator untuk operasi aritmatika yang tergolong sebagai operator binary adalah: Perkalian Pembagian Sisa Pembagian (mod) Penjumlahan 6 2

OPERATOR DAN STATEMEN I/O

Dasar-dasar Pemrograman C DASAR PEMROGRAMAN & ALGORITMA

MODUL 1 Alur Seleksi dengan C++

MODUL IV OPERASI DASAR MASUKAN DAN KELUARAN

StrukturDasarProgram Prosedural (dalambahasac++)

PERTEMUAN 7 REVIEW (QUIZ)

ALGORITMA RINTA KRIDALUKMANA SISKOM UNDIP

Pengulangan for. Konstruksi for. keberadaan exp1, exp2, dan exp3 bersifat optional. for (exp1; exp2; exp3){ statement; atau. statement1; statement2;

Tipe Data Dasar. Data bisa dinyatakan dalam bentuk konstanta atau variabel.

BAB III POINTER. Type *variabel-name

MI, KA-D3, SIA, SIB. ADI, S.Kom.

PRAKTIKUM PEMROGRAMAN KOMPUTER MODUL II PERCABANGAN. Bahasa Pemrograman : C / C++

Transkripsi:

` EVALUASI MATRIKULASI ANALISA DAN DESAIN ALGORITMA N I M : 1011601026 N A M A : YOGA PRIHASTOMO K E L A S : B NO. ABSEN : 2 DOSEN PENGAMPU : Ir. SJUKANI, MM PROGRAM MAGISTER ILMU KOMPUTER UNIVERSITAS BUDI LUHUR JAKARTA TAHUN AKADEMIK 2011

1. Soal: Diketahui flowchart sebagai berikut: Jika diyatakan dalam bentuk umum dan dalam bahasa C++ maka terlihat: Bentuk Umum Algoritma Read(A,B) X = A Y = B While( X!= Y) IF ( X < Y ) Then X = X + A Y = Y + B End If End While Write(X) Bahasa C++ int A,B, X,Y; cin >> A >> B; X = A; Y = B; while( X!= Y) if( X < Y ) X = X + A; Y = Y + B; cout << X; Pertanyaan: a. Jika A = 2; dan B = 4, maka yang tercetak? b. Jika A = 4; dan B = 7, maka yang tercetak? a. Jika A = 2; dan B = 4 X = A X = 2 Y = B Y = 4 - Iterasi 1 : 2!= 4; 2 < 4; maka X=X+A; X=2+2=4; maka X=4; Y=4 - Iterasi 2 : 4!= 4; kondisi salah; maka keluar Loop. Sehingga X benilai 4, dan akan tercetak 4 b. Jika A = 4; dan B = 7 X = A X = 4 Y = B Y = 7 - Iterasi 1 : 4!= 7; 4 < 7; maka X=X+A; X=4+4=8; maka X=8; Y=7 - Iterasi 2 : 8!= 7; 8 > 7; maka Y=Y+B; Y=7+7=14; maka X=8; Y=14 Halaman 1 Dari 10

- Iterasi 3 : 8!= 14; 8 < 14; maka X=X+A; Y=8+4=12; maka X=12; Y=14 - Iterasi 4 : 12!= 14;12 < 14; maka X=X+A; Y=12+4=16; maka X=16; Y=14 - Iterasi 5 : 16!= 14; 16 > 14; maka Y=Y+B; Y=14+7=21; maka X=16; Y=21 - Iterasi 6 : 16!= 21; 16 < 21; maka X=X+A; X=16+4=20; maka X=20; Y=21 - Iterasi 7 : 20!= 21; 20 < 21; maka X=X+A; X=20+4=24; maka X=24; Y=21 - Iterasi 8 : 24!= 21; 24 > 21; maka Y=Y+B; Y=21+7=28; maka X=24; Y=28 - Iterasi 9 : 24!= 28; 24 < 28; maka X=X+A; X=24+4=28; maka X=28; Y=28 - Iterasi 10: 28!= 28; kondisi salah; maka keluar Loop Sehingga X benilai 28, dan akan tercetak 28 2. Soal: Susun algoritma untuk menginput 3 buah bilangan bulat yang masing-masing menyatakan panjang sebuah garis. Kemudian periksa ketiga buah garis tersebut, apakah dapat membentuk sebuah segitiga. Bila ketiga buah garis tersebut dapat membentuk sebuah segitiga, maka cetak perkataan SEGITIGA, tapi bila ketiga buah garis tersebut tidak dapat membentuk sebuah segitiga, maka cetak perkataan BUKAN SEGITIGA. Pada sebuah segitiga berlaku suatu kepastian bahwa : Total panjang dua buah sisi selalu lebih besar dari panjang satu sisi yang lain. Algoritma dalam bahasa C++ int A, B, C; cin >> A >> B >> C; if ((A+B)<C && (B+C)<A && (C+A)<B) cout << "SEGITIGA"; cout << "BUKAN SEGITIGA"; Algoritma dengan logika lain dalam bahasa C++ #include <iostream.h> int S1, S2, S3; cout << "Masukkan 3 Sisi Segitiga: "; cin >> S1 >> S2 >> S3; cout << endl; if ((S1 + S2) > S3) if ((S1 + S3) > S2) Halaman 2 Dari 10

if ((S2 + S3) > S1) cout << "Ini adalah Segitiga"; cout << "Ini bukan Segitiga"; cout << "Ini bukan Segitiga"; cout << "Ini bukan Segitiga"; 3. Soal: Diketahui algoritma berikut ini, ditulis dalam Bahasa C++ int N,X,T,Batas; N =.. ; Batas = N + 100; X = 20; T = N; while( T <= Batas) T = T + X; X = X + 10; cout << T; Pertanyaan: apa yang tercetak oleh algoritma diatas, bila N diisi dengan 2 digit terakhir NIM Saudara? Dua digit terakhir NIM=26 N = 26 Batas = N + 100 Batas = 26 + 100 = 126 X = 20 T = N T = 26 - Iterasi 1 : 26 <= 126; maka T=T+X T=26+20=46; X=X+10 X=20+10=30 - Iterasi 2 : 46 <= 126; maka T=T+X T=46+30=76; X=X+10 X=30+10=40 Halaman 3 Dari 10

- Iterasi 3 : 76 <= 126; maka T=T+X T=76+40=116; X=X+10 X=40+10=50 - Iterasi 4 : 116 <= 126; maka T=T+X T=116+50=166; X=X+10 X=50+10=60 - Iterasi 5 : 166 > 126; kondisi salah, maka keluar Loop Sehingga T benilai 166, dan akan tercetak 166. 4. Soal: Ali berangkat dari titik A ke titik B. Ali berangkat sebelum pukul 09:00:00 pagi. Badu mencatat dalam selembar kertas, 3 (tiga) buah bilangan yang menyatakan Jam, Menit dan Detik pukul (jam) keberangkatan Ali dari titik A. Setelah 8175 detik kemudian dihitung sejak waktu keberangkatan, Ali tiba di titik B. Dengan memanfaatkan data keberangkatan yang dimiliki Badu, susunlah algoritma untuk mencetak pukul berapa (Jam, Menit, Detik) Ali tiba di titik B. Algoritma dalam bahasa C++ int Waktu, Jam, JlhJam, Selisih, Menit, JlhMenit, Detik, Tiba; Waktu = 8175; Jam = Waktu / 3600; JlhJam = Jam * 3600; Selisih = Waktu - JlhJam; Menit = Selisih / 60; JlhMenit = Menit * 60; Detik = Selisih - JlhMenit; Tiba = Jam + 9; cout << "Ali tiba pukul = "; cout << "Jam : " << Tiba << ":" << Menit << ":" << Detik; 5. Soal: Disebuah negara berlaku satuan uang logam (coin) sebagai berikut: quarter (25 sen) dime (10 sen), nickel (5 sen) dan penny (1 sen). Apabila sebuah toko ingin mengembalikan uang belanjaan sebesar 64 sen, dengan jumlah keping coin yang paling sedikit, maka diperlukan 2 quarter, 1 dime dan 4 penny, (2*25+1*10+ 4*1) atau sebanyak 7 keping. Ia tidak boleh mengembalikan dengan 6 dime dan 4 penny (6*10+4*1) atau 10 keping, walaupun nilainya sama-sama 64 sen. Susun Halaman 4 Dari 10

program untuk mencetak berapa keping masing-masing coin yang diperlukan untuk uang kembalian. Nilai uang kembalian diketik melalui keyboard. Algoritma dalam bahasa C++ int quarter, dime, nickel, penny, uang, sisa1, sisa2; cout << "Masukkan nilai uang : "; cin >> uang; quarter = uang / 25; sisa1 = uang - ( 25 * quarter ); dime = sisa1 / 10; sisa2 = sisa1 - ( 10 * dime ); nickel = sisa2 / 5; penny = sisa2 - ( 5 * nickel ); cout << "Keping Quarter : " << quarter << endl; cout << "Keping Dime : " << dime << endl; cout << "Keping Nickel : " << nickel << endl; cout << "Keping Penny : " << penny << endl; Halaman 5 Dari 10

6. Soal: Ali mempunyai banyak sekali uang logam. Uang logam tersebut hanya terdiri dari 2 macam nilai satuan yaitu : 5, dan 3 sen. Ali mau mengambil beberapa keping uang logam tersebut senilai minimal 8 sen dan maksimal 100 sen. Anda diminta membantu Ali untuk menentukan keping uang apa dan berapa keping jumlahnya untuk memenuhi nilai yang akan diambil Ali, dengan ketentuan mendahulukan mengambil keping dengan nilai tertinggi agar didapat jumlah keping yang paling sedikit. Untuk itu Anda diminta membuat algoritma yang menginputkan sebuah nilai integer yang menyatakan nilai uang yang akan diambil Ali, kemudian cetak berapa keping uang logam bernilai 5 sen, dan berapa keping yang bernilai 3 sen, agar terpenuhi jumlah nilai yang akan diambil Ali. Bila nilai yang diinput kurang dari 8, atau lebih dari 100, maka cetak perkataan DATA SALAH dan proses dihentikan. Algoritma dalam bahasa C++ int koin, P5, P3, S; cout << "Masukkan jumlah koin : "; cin >> koin; if (koin >= 8 && koin <= 100) S = koin % 5; if(s == 0) P5 = koin / 5; P3 = 0; P5 = koin / 5; while(p5 >= 0) S = koin - (P5 * 5); if(s % 3 == 0) Halaman 6 Dari 10

P3 = S / 3; break; P5--; cout << "Jumlah koin 5 sen : " << P5 << " keping" << endl; cout << "Jumlah koin 3 sen : " << P3 << " keping" << endl; cout << "Maaf, Data yang Anda input salah!"; 7. Soal: Titik A dan titik B dihubungkan hanya oleh sebuah jalan yang panjangnya = 1000 m. Ali berangkat dari titik A menuju titik B tepat jam 08:00:00 pagi dengan kecepatan tetap 5 m/detik. Tetapi 10 detik kemudian, kecepatannya naik 2m/detik menjadi 7m/detik. Demikian seterusnya, setiap 10 detik kecepatan Ali naik 2m/detik. Tepat pada jam yang sama (08:00:00) Badu berangkat dari titik B menuju titik A dengan kecepatan tetap 10 m/detik, tidak pernah berubah. Susun algoritma untuk mencetak berapa detik setelah keberangkatan, Ali dan Badu bertemu, berpapasan dijalan. Catatan : satuan waktu terkecil adalah dalam detik. Algoritma dalam bahasa C++ void main () int jarak, det, ketemu, stat, V1, V2, T0, sb, TV1, bb, ta, stv; jarak = 1000; V1 = 5; V2 = 10; T0 = 10; sb = 0; TV1 = V1+2; Halaman 7 Dari 10

bb = 0; stv = jarak; stat = 0; ta = 0; cout << "Jarak Antara Titik A dan Titik B = " << jarak << " meter" ; cout << "\nkecepatan Awal Ali = " << V1 << " m/dt"; cout << "\nkecepatan Ali Naik menjadi = " << TV1 << " m/dt"; cout << "\nkecepatan Awal Badu = " << V2 << " m/dt"; cout << "\nselang Waktu Perubahan Ali = " << T0 << " detik \n"; for(det=1; ; det++) if(ta <= jarak stv >= 0) if(ta <= jarak) ta += V1; if(stv >= 0) stv -= V2; if(ta >= stv && stat == 0) ketemu = det; stat = 1; if(t0!= 0) if(det % T0 == 0) V1 += TV1; if(sb!= 0) if(det % sb == 0) V2 += bb; break; cout << "\njadi Pertemuan Ali dan Badu pada waktu ke :" << ketemu << " detik"; Halaman 8 Dari 10

8. Soal: Sebuah kebun besar ditanami pohon bibit sebanyak n baris. Setiap baris terdiri dari n pohon, sehingga kebun besar ini dapat kita sebut ukurannya = n x n. Pohonpohon tersebut kemudian dicabut dan ditanam ulang menjadi 13 buah kebun dengan ukuran lebih kecil yaitu setiap kebun kecil terdiri dari m baris dan setiap baris terdiri dari m pohon. Setelah terbentuk 13 kebun kecil ukuran m x m, ternyata pada kebun besar masih tersisa 1 pohon. Susun program untuk mencetak berapa jumlah pohon semula yang ada di kebun besar. Algoritma Dalam Bahasa C++ #include <stdio.h> #include <conio.h> #include <stdlib.h> #pragma argsused int main(int argc, char* argv[]) int a, b, n[400], m, index, status; status = 0; for(a=0; a<400; a++) n[a] = a*a; for(b=1; b<400; b++) m = (b * b * 13) + 1; printf("=> Untuk m = %d, maka jumlah pohon di kebun besar = %d\n",abs(b),abs(m)); for(a=1; a<400; a++) for(b=1; b<400; b++) m = (b * b * 13) + 1; if(m == n[a]) printf("=> m Pada kebun kecil = %d \n",b); printf("=> n Pada kebun besar = %d \n",a); printf("=> Jumlah pohon di kebun besar = %d \n",abs(n[a])); status = 1; break; Halaman 9 Dari 10

if(status == 0) printf("sampai dengan bilangan ke %d tidak ditemukan kombinasi yang cocok.",b); getch(); return 0; Halaman 10 Dari 10