Contoh-contoh Pemecahan Masalah 2 TEE 2103 Algoritma & Pemograman

Slides:



Advertisements
Presentasi serupa
STRUKTUR DASAR ALGORITMA
Advertisements

TEL 2112 Dasar Komputer & Pemograman Pengulangan
PERTEMUAN 6 Algoritma Presented by : Sity Aisyah, M.Kom
TEL 2112 Dasar Komputer & Pemograman Nama dan Nilai Objek Abdillah, S.Si, MIT Website:
LOGIKA ALGORITMA Pertemuan 6.
Algoritma dan Struktur Data
ARRAY 1 DIMENSI.
STATEMENT PENGENDALIAN (PEMILIHAN)
STRUCT 1.
Pemprograman Terstruktur 1
Prosedur dan Fungsi Triana Elizabeth, S.Kom.
Notasi Algoritma TEE 2103 Algoritma dan Pemrograman
TEE 2103 Algoritma dan Pemrograman
Algoritma Pseudocode TEE 2103 Algoritma dan Pemrograman
NOTASI ALGORITMIK dan BAHASA C++
TEL 2112 Dasar Komputer & Pemograman Contoh Pemecahan Masalah
TEL 2112 Dasar Komputer & Pemograman Contoh Pemecahan Masalah
Array (bagian 2).
Algoritma dan Pemrograman I
Struktur Program TEE 2103 Algoritma dan Pemrograman
STRUCT (Dalam Bahasa C)
Input dan Output TEE 2103 Algoritma dan Pemrograman
Ucu Nugraha, ST. Algoritma.
PERTEMUAN 7 STATEMENT PEMILIHAN
ARRAY & STRING LATIHAN.
TEL 2112 Dasar Komputer & Pemograman Pemrograman Modular
Apa itu Fungsi? Sebuah fungsi adalah modul program yang mengerjakan tugas atau aktivitas yang spesifik dan mengembalikan sebuah nilai dari tipe tertentu,
TEL 2112 Dasar Komputer & Pemograman Contoh Pemecahan Masalah 2
TEE 2103 Algoritma dan Pemrograman
TEL 2112 Dasar Komputer & Pemograman Penyeleksian
Pemilihan TEE 2103 Algoritma dan Pemrograman Dosen: Abdillah, MIT
Contoh-contoh Pemecahan Masalah TEE 2103 Algoritma & Pemograman
TEL 2103 Dasar Komputer & Pemograman Larik (Array)
TEL 2112 Dasar Komputer & Pemograman Fungsi
Fungsi TEE 2103 Algoritma & Pemrograman Dosen: Abdillah, MIT
TEL 2112 Dasar Komputer & Pemograman Contoh Pemecahan Masalah 2
TEL 2112 Dasar Komputer & Pemograman Nama dan Nilai Data
Array 1.
Algoritma dan Pemrograman
TEL 2112 Dasar Komputer & Pemograman Larik (Array)
Remainder Senin depan mulai UTS Praktikum
Latihan #0 Dengan menggunakan pernyataan looping WHILE dan jumlah instruksi sesedikit mungkin, tuliskan cuplikan program (bukan program lengkap, hanya.
TEL 2112 Dasar Komputer & Pemograman Larik (Array)
TEL 2112 Dasar Komputer & Pemograman Pemrograman Modular
TEL 2112 Dasar Komputer & Pemograman Contoh Pemecahan Masalah
TEL 2112 Dasar Komputer & Pemrograman
TEE 2103 Algoritma & Pemrograman
TEL 2112 Dasar Komputer & Pemograman Ujian Tengah Semester
Ujian Akhir Semester TEE 2103 Algoritma dan Pemrograman
Contoh-contoh Pemecahan Masalah 2 TEE 2103 Algoritma & Pemograman
TEL 2112 Dasar Komputer & Pemograman Contoh Pemecahan Masalah 2
TEL 2112 Dasar Komputer & Pemrograman
Algoritma dan Struktur Data
STATEMENT PENGENDALIAN (PEMILIHAN)
TEL 2112 Dasar Komputer & Pemograman Prosedur
TEL 2112 Dasar Komputer & Pemograman Fungsi
TEL 2112 Dasar Komputer & Pemograman Pemrograman Modular
TEL 2112 Dasar Komputer & Pemograman Prosedur
Tugas Terstruktur I TEE 2103 Algoritma dan Pemrograman
TEL 2112 Dasar Komputer & Pemograman Fungsi
TEL 2112 Dasar Komputer & Pemograman Contoh Pemecahan Masalah 2
TEE 2103 Algoritma & Pemrograman
Tugas Terstruktur II TEE 2103 Algoritma dan Pemrograman
TEL 2112 Dasar Komputer & Pemograman Pengantar Algoritma
TEL 2112 Dasar Komputer & Pemograman Pengantar Algoritma
Variabel dan Tipe Data TEE 2103 Algoritma & Pemrograman
NOTASI ALGORITMA dan BAHASA C++
Tipe Data Bentukan Pertemuan ke-5.
Fungsi.
Pengulangan FOR - DO Temu 9.
Transcript presentasi:

Contoh-contoh Pemecahan Masalah 2 TEE 2103 Algoritma & Pemograman Dosen: Abdillah, MIT HP: 0853 6581 8665 Email: abdill01@gmail.com Website: http://abdill01.wordpress.com

Tujuan Mahasiswa mampu menyelesaikan masalah berdasar pada contoh-contoh algoritma penyelesaian masalah dan programnya.

Daftar Masalah Validasi Password Menentukan Selisih Hari Mencari Nilai Tertinggi Mencari Nilai Terendah Menghitung Titik Tengah

1. Validasi Password Buatlah algoritma dan program password yang membaca kata sandi kemudian memanggil prosedur validasi yang mengecek kebenaran kata sandi. Program password memberi kesempatan 3 kali untuk memasukkan sandi hingga menampilkan pesan peringatan di layar monitor.

Algoritma Prosedur procedure validasi (input password : integer) { Menampilkan pesan selamat datang jika password benar } DEKLARASI sah, pencacah : integer { variabel global } int sandi = 1234 ALGORITMA if (password = sandi) write(‘selamat datang’) sah  0 else write(‘password Anda salah') sah  1 pencacah  pencacah + 1

Algoritma Program Utama PROGRAM Password {Membaca password dan keluar jika 3x salah} DEKLARASI password : integer ALGORITMA pencacah = 1 repeat read(password) validasi(password) until ((sah = 1) and (pencacah <= 3))

Program Prosedur #include<stdio.h> int sah, pencacah; void validasi(int password) { int sandi = 1234; if (password == sandi){ printf("selamat datang\n"); sah = 0; } else { printf(“password Anda salah\n"); pencacah++; sah = 1;

Program Utama main() { int password; pencacah = 1; do printf("Masukkan password:"); scanf("%d", &password); validasi(password); } while ((sah == 1) && (pencacah <= 3));

2. Menentukan Selisih hari Buatlah algoritma dan program selisih_hari yang membaca dan menghitung selisih hari antara dua tanggal, dibaca dari piranti masukan. Program selisih_hari memanggil fungsi hari_bulan yang mengembalikan jumlah hari dalam satu bulan. Contoh eksekusi program: Ketikkan tanggal pertama: 28/2/2012 Ketikkan tanggal kedua: 27/1/2015 Jumlah selisih hari adalah 1066 hari

Algoritma Fungsi function hari_bulan(no_bulan, tahun : integer)  integer { Mengembalikan jumlah hari dalam no_bulan pd tahun tertentu} DEKLARASI tidak ada ALGORITMA: case (no_bulan) 1,3,5,7,8,10,12 : return 31 4,6,9,11 : return 30 2 : if ((tahun mod 4 = 0 and tahun mod 100 ≠ 0) or (tahun mod 400 = 0)) then return 29 else return 28

Algoritma Program Utama PROGRAM selisih_hari DEKLARASI type Hari : record <dd, mm, yy : integer> H1, H2 : Hari i,j, selisih : integer ALGORITMA: read (H1, H2) selisih ← 0 repeat if (H1.yy < H2.yy) for (j ← H1.mm to 12) selisih ← selisih + hari_bulan(j,H1.yy) for (i ← H1.yy+1 to H2.yy-1) for (j ← 1 to 12) selisih ← selisih + hari_bulan(j,i) for (j ← 1 to H2.mm-1) selisih ← selisih - H1.dd + H2.dd else if (H1.yy = H2.yy and H1.mm <= H2.mm) for (j ← H1.mm to H2.mm-1) else if (H1.mm = H2.mm and H1.dd < H2.dd) selisih ← selisih + H2.dd - H1.dd else write (‘H2 harus setelah H1’) Algoritma Program Utama

Program Fungsi #include <stdio.h> int hari_bulan (int no_bulan, int tahun) { switch (no_bulan) { case 1:case 3:case 5:case 7:case 8:case 10:case 12: return 31; break; case 4:case 6:case 9:case 11:return 30; break; case 2:if((tahun%4==0 && tahun%100 != 0)||tahun%400==0) return 29; else return 28; }

Program Utama main() { typedef struct {int dd, mm, yy;} Hari; Hari H1, H2; int i,j, selisih; printf("Ketikkan tanggal pertama (dd/mm/yyyy): "); scanf("%d/%d/%d",&H1.dd, &H1.mm, &H1.yy); printf("Ketikkan tanggal kedua (dd/mm/yyyy): "); scanf("%d/%d/%d",&H2.dd, &H2.mm, &H2.yy); selisih = 0; if (H1.yy < H2.yy) for (j=H1.mm; j<=12; j++) selisih = selisih + hari_bulan(j, H1.yy); for (i=H1.yy+1; i<H2.yy; i++){ for (j=1; j<=12; j++) selisih = selisih + hari_bulan(j, H1.yy);} for (j=1; j<=H2.mm-1; j++) selisih = selisih + H2.dd - H1.dd; printf ("Jumlah selisih hari adalah %d hari\n", selisih); } Program Utama

Program Utama else if (H1.yy == H2.yy && H1.mm <= H2.mm){ for (j=H1.mm; j<=H2.mm-1; j++) selisih = selisih + hari_bulan(j, H1.yy); } else if (H1.mm == H2.mm && H1.dd <= H2.dd){ selisih = selisih + H2.dd - H1.dd; printf ("Jumlah selisih hari adalah %d hari\n", selisih); else printf ("Tanggal kedua harus setelah tanggal pertama \n"); Program Utama

3. Menentukan Nilai Tertinggi Tulislah algoritma dan program maksimum yang membaca 3 buah nilai ujian dari papan ketik dan menyimpannya dalam sebuah larik. Program maksimum memanggil fungsi cari_maksimum yang mencari dan mengembalikan nilai ujian yang tertinggi. Program maksimum kemudian menampilkan nilai tertinggi tsb di layar monitor.

Algoritma Fungsi function cari_maksimum (input nilai[ ], k : integer) → integer { Mencari dan mengembalikan nilai tertinggi } DEKLARASI i, maksimum : integer ALGORITMA: maksimum ← nilai[0] for (i  1 to k-1) do if (nilai[i] > maksimum) maksimum ← nilai[i] endfor return (maksimum)

Algoritma Program Utama PROGRAM Maksimum { Membaca, menyimpan 3 buah nilai ujian dalam sebuah larik dan menampilkan nilai ujian tertinggi } DEKLARASI i, N, nilai[N], : integer ALGORITMA: N  3 for (i  0 to N-1) do read ( nilai[i] ) endfor write (‘Nilai tertinggi =‘ cari_maksimum(nilai, N))

Program Maksimum #include <stdio.h> int cari_maksimum(int nilai[],int k) { int i, maksimum = nilai[0]; for (i=0;i<k;i++) if nilai[i] > maksimum maksimum = nilai[i]; return maksimum; } main() int i, N = 3, nilai[N],; printf(“Masukkan 3 nilai ujian"); for (i=0;i<N;i++) { printf(“Nilai ke %d: ",i+1); scanf("%d",&nilai[i]); printf("Nilai tertinggi: %d", cari_maksimum(nilai,N));

4. Menentukan Nilai Terendah Tulislah algoritma dan program minimum yang membaca 3 buah nilai ujian dari papan ketik dan menyimpannya dalam sebuah larik. Program minimum memanggil fungsi cari_ minimum yang mencari dan mengembalikan nilai ujian yang terendah. Program minimum kemudian menampilkan nilai terendah tsb di layar monitor.

Algoritma Fungsi function cari_minimum (input nilai[ ], k : integer) → integer { Mencari dan mengembalikan nilai terendah } DEKLARASI i, minimum : integer ALGORITMA: minimum ← nilai[0] for (i  1 to k-1) do if (nilai[i] < minimum) minimum ← nilai[i] endfor return (minimum)

Algoritma Program Utama PROGRAM Minimum { Membaca, menyimpan 3 buah nilai ujian dalam sebuah larik dan menampilkan nilai ujian terendah } DEKLARASI i, N, nilai[N], : integer ALGORITMA: N  3 for (i  0 to N-1) do read ( nilai[i] ) endfor write (‘Nilai terendah =‘ cari_minimum(nilai, N))

Program Minimum #include <stdio.h> int cari_minimum(int nilai[],int k) { int i, minimum = nilai[0]; for (i=0;i<k;i++) if nilai[i] < minimum minimum = nilai[i]; return minimum; } main() int i, N = 3, nilai[N],; printf(“Masukkan 3 nilai ujian"); for (i=0;i<N;i++) { printf(“Nilai ke %d: ",i+1); scanf("%d",&nilai[i]); printf("Nilai terendah: %d", cari_minimum(nilai,N));

5. Menentukan Titik Tengah Tulislah algoritma dan program minimum yang membaca 2 buah titik koordinat dan menyimpannya dalam tipe terstruktur Titik. Program titik_tengah memanggil fungsi hitung_ titik_tengah yang mencari dan mengembalikan koordinat titik tengah. Program Titik kemudian menampilkan koordinat titik tengah tsb di layar monitor.

Algoritma Fungsi function cari_minimum (input nilai[ ], k : integer) → integer { Mencari dan mengembalikan nilai terendah } DEKLARASI i, minimum : integer ALGORITMA: minimum ← nilai[0] for (i  1 to k-1) do if (nilai[i] > minimum minimum ← nilai[i] endfor return (minimum)

Algoritma Program Utama PROGRAM Minimum { Membaca, menyimpan 3 buah nilai ujian dalam sebuah larik dan menampilkan nilai ujian terendah } DEKLARASI i, N, nilai[N], : integer ALGORITMA: N  3 for (i  0 to N-1) do read ( nilai[i] ) endfor write (‘Nilai terendah =‘ cari_minimum(nilai, N))

Program Minimum #include <stdio.h> typedef struct {float x,y;} Titik; /* variabel global */ Titik Titik_Tengah(Titik P1, Titik P2) { Titik Pt; Pt.x = (P1.x + P2.x)/2; Pt.y = (P1.y + P2.y)/2; return Pt; } main() Titik P1,P2; printf("Masukkan koordinat titik P1 (x,y):"); scanf("%f,%f",&P1.x, &P1.y); printf("Masukkan koordinat titik P2 (x,y):"); scanf("%f,%f",&P2.x, &P2.y); printf("Titik tengah:(%.1f, %.1f)\n", Titik_Tengah(P1,P2));