Modul 9 Alpro1 - Konversi 2

  • Uploaded by: ridwanisme
  • 0
  • 0
  • March 2021
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Modul 9 Alpro1 - Konversi 2 as PDF for free.

More details

  • Words: 2,184
  • Pages: 10
Loading documents preview...
Praktikum Algoritma dan Pemrograman I

MODUL IX TRANSLASI KE BAHASA C (BAGIAN 2) Pertemuan Waktu

: 10 : 2 x 60 menit (di Laboratorium)

9.1 Tujuan Modul IX Setelah mahasiswa mempelajari materi ini, diharapkan dapat : 1. Memahami perbedaan Bahasa Pascal dan C dalam hal pengulangan dan tipe bentukan. 2. Mampu mengubah program Pascal menjadi program C untuk konsep pengulangan dan tipe bentukan.

9.2 Landasan Teori 9.2.1

Bahasa C

Berikut ini adalah tabel translasi Algoritma ke bahasa Pascal dan C untuk pengulangan dan tipe bentukan : Notasi Algoritmik

Pascal Struktur Pengulangan FOR

C

FOR menaik :

FOR menaik :

FOR menaik :

for pencacah←a to b do aksi endfor

for pencacah:=a to b do aksi;

for (pencacah=a; a<=b; a++) aksi;

jika aksi lebih dari satu buah maka penulisannya menjadi :

jika aksi lebih dari satu buah maka penulisannya menjadi :

FOR menurun :

for pencacah:=a to b do begin aksi1; aksi2; ... end; FOR menurun :

for (pencacah=a; a<=b; a++) { aksi1; aksi2; ... } FOR menurun :

For pencacah←a downto b do Aksi endfor

for pencacah:=a downto b do aksi;

for (pencacah=a; a>=b; a--) aksi;

jika aksi lebih dari satu buah maka penulisannya menjadi :

jika aksi lebih dari satu buah maka penulisannya menjadi : for (pencacah=a; a>=b;

Laboratorium Software Engineering

Versi/Revisi : 2/1

Halaman : 9-1

Praktikum Algoritma dan Pemrograman I

for pencacah:=a downto b do begin aksi1; aksi2; ... end;

a--) { aksi1; aksi2; ... }

Struktur Pengulangan WHILE while kondisi do aksi endwhile

while kondisi do aksi;

while (kondisi) aksi;

jika aksi lebih dari satu buah maka penulisannya menjadi :

jika aksi lebih dari satu buah maka penulisannya menjadi :

while kondisi do begin aksi1; aksi2; ... end;

while (kondisi) { aksi1; aksi2; ... }

Struktur Pengulangan REPEAT repeat aksi until kondisi

repeat aksi; until kondisi;

Nama_record : record < field1 : type, field2 : type, field3 : type, … fieldN : type >

Nama_record = record field1 : type; field2 : type; field3 : type; … fieldN : type end;

do { aksi; }while (!kondisi);

Tipe Bentukan struct { type field1; type field2; ... type fieldN; } Nama_record

9.2.2 Contoh Translasi Algoritma ke bahasa Pascal dan C 1. Mencetak Banyak Halo Buatlah algoritma dan program yang menerima input nama, kemudian mencetak halo dikuti nama tersebut sebanyak 5 kali. Bahasa Algoritmik Program Cetak_Banyak_Halo

Bahasa Pascal program Cetak_Banyak_Halo;

Laboratorium Software Engineering

Bahasa C #include <stdio.h>

Versi/Revisi : 2/1

Halaman : 9-2

Praktikum Algoritma dan Pemrograman I

Kamus Data: i : integer nama : string

int i; char nama[25];

var i : integer; nama : string; begin write('nama : '); readln(nama); for i:=1 to 5 do writeln('Halo ',nama); readln; end.

main() { printf(”Nama : ”); scanf(”%s”, &nama); for (i=1; i<=5; i++) printf(”Halo %s”, nama); }

2. Buat algoritma yang menampilkan menu secara berulang-ulang: 1) Baca data 2) Cetak data 3) Ubah data 4) Hapus data 5) Keluar program Kemudian menerima masukan pilihan menu dari user, dan berhenti saat user memilih no.5 yaitu keluar dari program. Bahasa Algoritmik

Bahasa Pascal

Bahasa C

Program Simulasi_Menu

program Simulasi_Menu;

#include <stdio.h>

Kamus Data: NoMenu : integer

var NoMenu : integer;

int NoMenu;

Algoritma: REPEAT OUTPUT(’ OUTPUT(’1. data’) OUTPUT(’2. data’) OUTPUT(’3. data’) OUTPUT(’4. data’) OUTPUT(’5. program’)

begin repeat writeln(' MENU '); writeln('1. Baca data'); writeln('2. Cetak data'); writeln('3. Ubah data'); writeln('4. Hapus data'); writeln('5. Keluar program');

MENU’) Baca Cetak Ubah Hapus Keluar

INPUT(NoMenu)

main() { do { printf(” printf(”1. printf(”2. printf(”3. printf(”4. printf(”5.

write('Pilihan menu : '); readln(NoMenu); until NoMenu = 5; end.

MENU ”); Baca Data”); Cetak Data”); Ubah Data”); Hapus Data”); Keluar Program”);

printf(”Pilihan Menu : ”); scanf(”%d”, &NoMenu); } while (NoMenu !=5); }

UNTIL NoMenu = 5

3. Mencetak Barisan Bilangan Buatlah algoritma dan program yang menerima input dua bilangan N dan M, kemudian mencetak bilangan berurut dari 1 s.d. N sebanyak M kali. Bahasa Algoritmik

Bahasa Pascal

Laboratorium Software Engineering

Versi/Revisi : 2/1

Bahasa C Halaman : 9-3

Praktikum Algoritma dan Pemrograman I

Program Barisan_Bilangan Kamus Data: N, M : integer i, j : integer Algoritma: INPUT(N, M) FOR i=1 TO N DO FOR j=1 TO M DO OUTPUT(i) ENDFOR ENDFOR

program Barisan_Bilangan; var N, M : integer; i, j : integer;

#include <stdio.h>

begin write('N : '); readln(N); write('M : '); readln(M);

main() { printf(”N : ”); scanf(”%d”, &N); printf(”M : ”); scanf(”%d”, &M);

int N,M; int i,j;

for i:=1 to N do begin for j:=1 to M do write(i,' '); writeln; end; readln; end.

for (i=1; i<=N; i++) { For (j=1; j<=M; j++) { printf(”%d ”,i); } } }

4. Tipe terstruktur mahasiswa Buatlah deklarasi tipe terstruktur untuk menyimpan beberapa mahasiswa dengan field npm, nama, dan ipk kemudian buat pula program input dan outputnya. Bahasa Algoritmik

Bahasa Pascal

Bahasa C

Program Data_Mahasiswa

program Data_Mahasiswa;

#include <stdio.h>

Kamus Data: Type mahasiswa : record < npm : string, nama : string, ipk : real >

type mahasiswa = record npm : string; nama : string; ipk : real; end;

typedef struct { char npm[9]; char nama[25]; float ipk; } mahasiswa;

var M : mahasiswa; N : integer;

mahasiswa M; int N;

M : mahasiswa N,i : integer

begin

Laboratorium Software Engineering

main() {

Versi/Revisi : 2/1

Halaman : 9-4

Praktikum Algoritma dan Pemrograman I

Algoritma: INPUT(N) For i←1 to N INPUT(M.npm , M.nama , M.ipk) OUTPUT(M.npm , M.nama , M.ipk) endfor

write(’masukkan jml mahasiswa : ’); readln(N); for i:=1 to N begin write(’masukkan npm : ’); readln(M.npm); write(’masukkan nama : ’); readln(M.nama); write(’masukkan ipk : ’); readln(M.ipk); writeln(’===data mahasiswa===’); writeln(’NPM : ’,M.npm); writeln(’Nama : ’,M.nama); writeln(’IPK : ’,M.ipk); end; end.

printf(”Masukkan jml mahasiswa :”); scanf(”%d”, &N); for (i=1; i<=N; i++) { printf(”Masukkan npm :”); scanf(”%s”, &M.npm); printf(”Masukkan nama :”); scanf(”%s”, &M.nama); printf(”Masukkan ipk :”); scanf(”%f”, &M.ipk); printf(”===Data Mahasiswa===”); printf(”NPM : %s”, M.npm); printf(”NPM : %s”, M.nama); printf(”NPM : %s”, M.ipk); } }

9.3Praktikum IX 9.3.1 Tugas Pendahuluan IX 1. Buatlah algoritma dan bahasa C untuk menampilkan N buah bilangan genap pertama. INPUT: N = 5 OUTPUT: 2 4 6 8 10 2. Buatlah algoritma dan bahasa C untuk menampilkan mata kuliah yang harus di remedial berdasarkan nilai uts nya. Ada 5 nilai mata kuliah sebagai masukan, yaitu: Alpro, SBO, RTI, Bahasa Indonesia, dan Pancasila. Jika ada nilai yang kurang dari 50, maka sebutkan mata kuliah yang harus di remedial. Program akan keluar sampai tidak ada mata kuliah yang diremedial. INPUT Masukkan nilai Alpro : 70 Masukkan nilai SBO : 45 Masukkan nilai RTI : 70 Masukkan nilai Bahasa Indonesia : 70 Masukkan nilai Pancasila : 70 OUTPUT Anda mendapat remedial : SBO INPUT Masukkan nilai Alpro : 30 Masukkan nilai SBO : 45 Masukkan nilai RTI : 70 Masukkan nilai Bahasa Indonesia : 70 Masukkan nilai Pancasila : 50

Laboratorium Software Engineering

Versi/Revisi : 2/1

Halaman : 9-5

Praktikum Algoritma dan Pemrograman I

OUTPUT

Anda mendapat remedial : Alpro – SBO Pancasila INPUT Masukkan nilai Alpro : 70 Masukkan nilai SBO : 70 Masukkan nilai RTI : 70 Masukkan nilai Bahasa Indonesia : 70 Masukkan nilai Pancasila : 70 OUTPUT Anda tidak mendapat remedial Keluar Program !!! 3. Buat algoritma dan Bahasa C untuk penghitungan gaji karyawan berikut, sehingga bisa menangani lebih dari 1 karyawan tanpa perlu keluar dari program. Buat 2 versi algoritma menggunakan looping WHILE-DO dan REPEAT-UNTIL! Sebuah perusahaan meminta anda sebagai programmer yang sudah sangat terkenal untuk membuatkan program penghitungan gaji karyawan di perusahaan tersebut, dengan ketentuan:  Gaji Pokok berdasarkan golongan Golongan Gaji Pokok 1 500 2 1000 3 1500 4 2000  Bonus diberikan kepada pegawai berdasarkan masa kerja Masa Kerja Bonus 3 50 6 75 >7 100  Jika sudah menikah maka tunjangan keluarganya sebesar 10% dari gaji pokok  Jika sudah menikah dan mempunyai anak (maksimal 3 orang) akan mendapat tunjangan anak sebesar 12.5% per anak Rumus perhitungan gajinya menjadi: Gaji = Gaji Pokok + Bonus + tunjangan keluarga + tunjangan anak 4. Buatlah algoritma dan bahasa C untuk menghitung dan menampilkan deret berikut: Sum = 1 + 5 + 25 + 125 + 625 + ... Input dari user: N yaitu jumlah suku. Buat 3 versi jawaban dengan menggunakan skema looping FOR-DO , REPEAT-UNTIL, dan WHILEDO! Contoh: Input : N = 3 Sum = 1 + 5 + 25 = 31 Input : N = 4 Sum = 1 + 5 + 25 + 125 = 156 5. Buatlah algoritma dan bahasa C untuk menampilkan deret berikut:

Laboratorium Software Engineering

Versi/Revisi : 2/1

Halaman : 9-6

Praktikum Algoritma dan Pemrograman I

111222333444555 Input dari user: N yaitu banyaknya angka, M yaitu banyaknya pengulangan. Petunjuk: Gunakan skema looping bersarang. Contoh: Input : N = 3, M = 2 112233 Input : N = 4, M = 5 11111222223333344444 6. Diketahui suatu data laundry sbb. Id_laundry L001 L002 L003

Jenis_laundry Jas Kebaya Kaos

harga 30000 50000 20000

Buatlah algoritma dan program bahasa C untuk memasukkan data tersebut terhadap struktur laundry ! Tampilkan data laundry yang dimasukkan, jika harganya lebih besar dari 40000 setiap kali memasukkan data. Gunakan Looping ! Contoh : INPUT Id Laundry : L001 Jenis Laundry : Jas Harga : 30000 OUTPUT Input Berhasil ! Tambah data ? Y INPUT Id Laundry : L002 Jenis Laundry : Kebaya Harga : 50000 OUTPUT Id Laundry : L002 Jenis Laundry : Kebaya Harga : 50000 Input Berhasil ! Tambah data ? Y INPUT Id Laundry : L003 Jenis Laundry : Kaos Harga : 20000 OUTPUT Input Berhasil ! Tambah data ? N Keluar Program

9.3.2

Latihan-latihan Praktikum VIII

1. Kasus 01 A. Buatlah program bahasa C untuk menampilkan jenis menu yang dipilih. Program tidak akan berhenti meminta masukan no menu sampai user memilih menu exit!

Laboratorium Software Engineering

Versi/Revisi : 2/1

Halaman : 9-7

Praktikum Algoritma dan Pemrograman I

Menu tersebut terdiri dari: a. Insert b. Update c. Delete d. Exit INPUT

Menu : 1. Insert 2. Update 3. Delete 4. Exit Masukkan nomor menu : 2 OUTPUT Anda memilih menu Update Masukkan nomor menu : 4 Program Selesai!!! B. Buatlah program bahasa C untuk menampilkan jenis menu makanan yang dipilih. Program tidak akan berhenti meminta masukan no menu sampai user memilih menu exit! Menu tersebut terdiri dari: a. Ayam Goreng b. Ayam Bakar c. Ayam Penyet d. Keluar INPUT Menu : 1. Ayam Goreng 2. Ayam Bakar 3. Ayam Penyet 4. Keluar Masukkan nomor menu : 2 OUTPUT Anda memilih menu Ayam Bakar Masukkan nomor menu : 4 Program Selesai!!! 2. Kasus 02 A. Buatlah program bahasa C untuk menghitung dan menampilkan deret berikut: Sum = 1 + 5 + 25 + 125 + 625 + ... Input dari user: N yaitu jumlah suku. Gunakan skema looping. Contoh: Input : N = 3 Sum = 1 + 5 + 25 = 31 Input : N = 4 Sum = 1 + 5 + 25 + 125 = 156 B. Buatlah program bahasa C untuk menghitung dan menampilkan deret berikut: Sum = 5 + 10 + 15 + 20 + 25 + ... Laboratorium Software Engineering

Versi/Revisi : 2/1

Halaman : 9-8

Praktikum Algoritma dan Pemrograman I

Input dari user: N yaitu jumlah suku. Gunakan skema looping. Contoh: Input : N = 3 Sum = 5 + 10 + 15 = 30 Input : N = 5 Sum = 5 + 10 + 15 + 20 + 25 = 75 3. Kasus 03 (BONUS) Buatlah program bahasa C untuk menampilkan deret sebanyak 2 kali M masukan dari user berikut: 1 1 2 2 3 3 4 4 5 5 Input dari user: N yaitu banyaknya angka, M yaitu banyaknya pengulangan. Petunjuk: Gunakan skema looping bersarang. Contoh: Input : N = 3, M = 2 111122223333 Input : N = 4, M = 3 111111222222333333444444 4. Kasus 04 A. Buatlah program dengan bahasa C untuk proses input dan output terhadap data bentukan mahasiswa. Struktur data bentukan mahasiswa tersebut dijelaskan pada tabel berikut. Variable Tipe Data Npm String Nama String IPK Real Program harus dibuat menggunakan menu : 1. Input Data Mahasiswa 2. Tampil Data Mahasiswa 3. Keluar Program tidak akan berhenti sampai menu no 3 dipilih ! B. Buatlah program dengan bahasa C untuk proses input dan output terhadap data bentukan pasien. Struktur data bentukan pasien tersebut dijelaskan pada table berikut. Variable Tipe Data Kode_pasien integer Nama String usia integer Program harus dibuat menggunakan menu : 1. Input Data Pasien 2. Tampil Data Pasien 3. Keluar

Laboratorium Software Engineering

Versi/Revisi : 2/1

Halaman : 9-9

Praktikum Algoritma dan Pemrograman I

Program tidak akan berhenti sampai menu no 3 dipilih !

9.3.3

Tugas Rumah IX

Tugas Rumah IX ini hanya untuk praktikan yang belum menyelesaikan seluruh soal Latihan Praktikum IX. 1. Kerjakan sisa soal Latihan Praktikum yang belum selesai di luar jam praktikum. 2. Buat laporan praktikum berdasarkan hasil pada praktikum pertemuan pertama ini. Laporan tersebut berisi: a. Soal latihan praktikum b. Solusi dengan menggunakan algoritma c. Solusi program dengan menggunakan bahasa C d. Screenshot hasil eksekusi program Keempat poin tersebut disusun per nomor soal latihan. Jangan lupa mengumpulkannya ke asisten/instruktur maksimal 1x24 jam setelah praktikum IX berakhir. Perhatikan bahwa laporan ini harus merupakan hasil karya sendiri. Kesamaan seluruh/sebagian isi laporan dengan mahasiswa lain akan mengakibatkan nilai laporan menjadi Nol.

Laboratorium Software Engineering

Versi/Revisi : 2/1

Halaman : 9-10

Related Documents

Modul 1-9 Lengkap
January 2021 1
Modul 9 Counter
February 2021 1
Modul 1 _ 9
January 2021 3

More Documents from "ajeng winda"