• Tidak ada hasil yang ditemukan

Contoh Kasus A : Belajar Naik Motor

N/A
N/A
Protected

Academic year: 2021

Membagikan "Contoh Kasus A : Belajar Naik Motor"

Copied!
18
0
0

Teks penuh

(1)

Contoh Kasus A : Belajar Naik Motor

Si Nono baru lulus SMA, dia dikasih sepeda motor oleh ayahnya dengan merk YAMAHAL . Namun sayangnya motor tersebut bukan motor matic, jadi nono harus belajar mengenai memindahkan gigi dengan aturan yang diberikan ayahnya gigi 1 untuk kecepatan 0-40 km/jam, gigi 2 untuk kecepatan 41-60 km/jam, gigi 3 untuk 61-80 km/jam, dan gigi 4 untuk kecepatan lebih dari 80 km/jam. Tentukan apakah nono bisa mengendarai motor denga menggunakan gigi yang benar. Input

Baris pertama gigi motor yang sedang dipakai (1≤G≤4), baris kedua diisi oleh kecepatan yang sedang berjalan (0≤V≤180)

Output

1 – jika nono menggunakan gigi yang tepat 0 - jika nono menggunakan gigi yang salah Contoh No Input Output 1 1 35 1 2 4 20 0 3 3 80 1 Solusi:

Menggunakan Raptor Procedure dalam Raptor

Klik kanan di bagian tab main, sehingga muncul

(2)

Untuk kasus di atas

Isi dengan nama procedure Isi dengan parameter masukan

(3)
(4)

Sedangkan untuk tab gambar flowchart-nya adalah

Menggunakan Algoritma

Judul : Algoritma untuk memeriksa apakah gigi motor yang digunakan sesuai dengan kecepatan motor menggunakan Fungsi

Kamus : Gigi_Motor_Sekarang : INTEGER Kecepatan_Motor_Sekarang : INTEGER

(5)

IF(Gigi=1 AND Kec<=40) THEN CekGigiMotor1

ELSE

IF(Gigi=2 AND Kec<=60) THEN CekGigiMotor1

ELSE

IF(Gigi=3 AND Kec<=80) THEN CekGigiMotor1

ELSE

IF(Gigi=4 AND Kec>80) THEN CekGigiMotor1 ELSE CekGigiMotor0 ENDIF ENDIF ENDIF ENDIF END FUNCTION {Algoritma Pemanggil} INPUT Gigi_Motor_Sekarang INPUT Kecepatan_Motor_Sekarang

OUTPUT CekGigiMotor(Gigi_Motor_Sekarang, Kecepatan_Motor_Sekarang)

Judul : Algoritma untuk memeriksa apakah gigi motor yang digunakan sesuai dengan kecepatan motor menggunakan Prosedur

Kamus : Gigi_Motor_Sekarang : INTEGER Kecepatan_Motor_Sekarang : INTEGER

Status_Benar : INTEGER

Algoritma : PROCEDURE CekGigiMotor(Gigi:INTEGER, Kec:INTEGER, Status : INTEGER)

IF(Gigi=1 AND Kec<=40) THEN Status 1

ELSE

IF(Gigi=2 AND Kec<=60) THEN Status 1

ELSE

IF(Gigi=3 AND Kec<=80) THEN Status 1

ELSE

IF(Gigi=4 AND Kec>80) THEN Status 1

ELSE Status 0

(6)

ENDIF ENDIF ENDIF ENDIF END PROCEDURE {Algoritma Pemanggil} INPUT Gigi_Motor_Sekarang INPUT Kecepatan_Motor_Sekarang CekGigiMotor(Gigi_Motor_Sekarang, Kecepatan_Motor_Sekarang, Status_Benar) OUTPUT Status_Benar

Menggunakan Program (Bahasa C/C++)

//Program untuk memeriksa apakah gigi motor yang digunakan sesuai dengan kecepatan //motor menggunakan Fungsi

#include <stdio.h>

//Fungsi Cek Gigi yang digunakan

int Fungsi_CekGigiMotor(int Gigi, int Kec){ if(Gigi=1 AND Kec<=40) {

return 1; }else{

if(Gigi=2 AND Kec<=60) { return 1;

}else{

if(Gigi=3 AND Kec<=80) { return 1;

}else{

if(Gigi=4 AND Kec>80) { return 1; }else{ return 0; } } } } }//End Function //Program pemanggil int main(){

//deklarasi variabel data int Gigi_Motor_Sekarang; int Kecepatan_Motor_Sekarang; //Input

scanf("%d",&Gigi_Motor_Sekarang); scanf("%d",&Kecepatan_Motor_Sekarang); //Proses dan Output

(7)

//Panggil dan Output Fungsi

printf("%d\n",Fungsi_CekGigiMotor(Gigi_Motor_Sekarang, Kecepatan_Motor_Sekarang));

return 0; }

//Program untuk memeriksa apakah gigi motor yang digunakan sesuai dengan kecepatan //motor menggunakan Prosedur

#include <stdio.h>

//Prosedur Cek Gigi yang digunakan

void Prosedur_CekGigiMotor(int Gigi, int Kec, int Status){ if(Gigi=1 AND Kec<=40) {

Status=1; }else{

if(Gigi=2 AND Kec<=60) { Status=1;

}else{

if(Gigi=3 AND Kec<=80) { Status=1;

}else{

if(Gigi=4 AND Kec>80) { Status=1; }else{ Status=0; } } } } }//End Prosedur //Program pemanggil int main(){

//deklarasi variabel data int Gigi_Motor_Sekarang; int Kecepatan_Motor_Sekarang; int Status_Benar; //Input scanf("%d",&Gigi_Motor_Sekarang); scanf("%d",&Kecepatan_Motor_Sekarang); //Proses dan Output

//Panggil Prosedur Prosedur_CekGigiMotor(Gigi_Motor_Sekarang, Kecepatan_Motor_Sekarang, Status_Benar); //Output Prosedur printf("%d\n",Status_Benar); return 0; }

(8)

Contoh Kasus B : Deret Angka

Deret 1 + 3 + 5 + 7 + … + ????

Suku ke 1 2 3 4 … n

Berdasarkan pola deret dari suku ke-1 sampai suku ke-4 bisa kita bilang bahwa deret tersebut akan menjumlahkan semua bilangan ganjil. Oleh karena itu untuk suku ke-n isi deretnya adalah (2n-1) kenapa bisa ini?cari sendiri jawabannya

Input

Baris pertama suku terakhir dari deret (1≤N≤10000) Output

Jumlah Total deret Contoh No Input Output 1 1 1 2 4 16 3 2 4 Solusi:

Menggunakan Raptor Procedure dalam Raptor

Flowchart-nya, untuk tab gambar flowchart-nya adalah

(9)

Menggunakan Algoritma

Judul : Algoritma untuk menghitung deret bilangan ganjilmenggunakan Fungsi

Kamus : N : INTEGER Jml_Deret_Ganjil : INTEGER

Algoritma : FUNCTION Sum_Deret Ganjil(N:INTEGER) : INTEGER Jml_Deret_Ganjil 0

FOR I 1 TO N STEP 1 DO

Jml_Deret_Ganjil Jml_Deret_Ganjil + ((2*i)-1) ENDFOR

Sum_Deret_Ganjil Jml_Deret_Ganjil END FUNCTION

{Algoritma Pemanggil} INPUT N

OUTPUT Sum_Deret Ganjil(N)

(10)

Kamus : N : INTEGER

Jml_Deret_Ganjil : INTEGER

Algoritma : PROCEDURE Sum_Deret Ganjil(N:INTEGER, Total: INTEGER) Total 0

FOR I 1 TO N STEP 1 DO Total Total+ ((2*i)-1) ENDFOR END PROCEDURE {Algoritma Pemanggil} INPUT N Sum_Deret_Ganjil(N,Jml_Deret_Ganjil) OUTPUT Jml_Deret_Ganjil

Menggunakan Program (Bahasa C/C++)

//Program untuk menghitung nilai pada deret bilangan ganjil menggunakan Fungsi #include <stdio.h>

//Fungsi Hitung nilai deret bilangan ganjil int Fungsi_Sum_DeretGanjil(int N){

Jml_Deret_Ganjil = 0; for(int i=1;i<=N;i++) {

Jml_Deret_Ganjil = Jml_Deret_Ganjil + ((2*i)-1); }

return Jml_Deret_Ganjil }//End Function

//Program pemanggil int main(){

//deklarasi variabel data int N;

//Input

scanf("%d",&N); //Proses dan Output

//Panggil dan Output Fungsi

printf("%d\n",Fungsi_Sum_DeretGanjil(N)); return 0;

}

//Program untuk menghitung nilai pada deret bilangan ganjil menggunakan Prosedur #include <stdio.h>

//Prosedur Hitung nilai deret bilangan ganjil void Prosedur_ Sum_DeretGanjil(int N, int Total){

Total = 0;

for(int i=1;i<=N;i++) {

(11)

} }//End Prosedur //Program pemanggil int main(){

//deklarasi variabel data int N;

//Input

scanf("%d",&N); //Proses dan Output //Panggil Prosedur

Prosedur_ Sum_DeretGanjil(N, Total); //Output Prosedur

printf("%d\n",Total); return 0;

}

Selanjutnya silahkan kerjakan studi kasus berikut ini (selesaikan dengan menggunakan Fungsi dan/atau Prosedur)

Kasus A : Deret Angka

Dik deret bilangan berikut ini:

1. ଵ ଵ+ ଶ ଷ+ ଷ ଻+ ⋯ +? ? ? 2. 2 – 4 + 6 – 8 ± … ± ??? 3. 1ଶ+ 2ଷ+ 3ସ+ ⋯ +? ? ? Input

Baris pertama suku terakhir dari deret (1≤N≤10000) Output

(12)

Kasus B : Permainan prima

Ada seorang penggemar bilangan prima ingin bermain-main dengan bilangan prima. Dia ingin menginput banyak bilangan pada table array dan kemudian dia ingin mencari bilangan prima pada table tersebut serta dia ingin menyulap semua bilangan primanya menjadi 0. Buatlah program untuk membantu orang tersebut dengan menggunakan fungsi atau procedure!

Desain Tampilan: --Menu Utama— 1. Input Bilangan

2. Tampilkan Bilangan Prima 3. Sulap Bilangan Prima jadi 0 Pilihan Anda :

Bila pilihan 1 : Baris pertama merupakan banyaknya baris (0 < b ≤ 15), dan baris kedua

merupakan banyaknya kolom (0 < k ≤ 25), baris selanjutnya adalah bilangan-bilangan pada posisi baris dan kolomnya.

Contoh: Input: 2

2 4 5 6 35

Bila pilihan 2 : Tampilkan bilangan prima pada table bilangan tersebut Output: 2 3 5

Bila pilihan 3 : Tampilkan table bilangan setelah bilangan prima dirubah menjadi 0 Contoh:

Output: 0 0

4 0

(catatan: pilihan 2 dan 3 bisa di lakukan setelah melakukan pilihan 1)

(13)

Kasus C : Perhitungan Bangun Ruang

Ada seorang matematikawan yang sedang mengajarkan bangun ruang, namun dia kebingungan dalam membuat program untuk menghitung luas permukaan dan volume dari beberapa bangun ruang. Buatlah program untuk membantu matematikawan tersebut dengan menggunakan fungsi atau procedure!

Desain Tampilan: --Menu Utama—

Menghitung Luas Permukaan dan Volume 1. Balok

2. Tabung 3. Kerucut Pilihan Anda :

Bila pilihan 1 : Lakukan input keperluan balok dan tampilkan luas permukaan serta volumenya. Contoh:

Input: 2 //input panjang 3//input lebar 4//input tinggi Output: 52//luas permukaan

24//volume

Bila pilihan 2 : Lakukan input keperluan tabung dan tampilkan luas permukaan serta volumenya. (lihat contoh pada pilihan 1)

Bila pilihan 3 : Lakukan input keperluan kerucut dan tampilkan luas permukaan serta volumenya. (lihat contoh pada pilihan 1)

(catatan: inputan bagi semua bangun ruang tersebut adalah keperluan untuk menghitungnya, misal pada balok diperlukan p, l, dan t. untuk tabung dan kerucut cari sendiri)

(14)

Kasus D : Data Tukang Cilok

Ada seorang penjual cilok yang berpikir modern. Dia berpikir bahwa setiap penjualannya dia menyisihkan 10% dari hasil jualannya per hari, dan datanya diinputkan setelah seminggu. Kemudian dia ingin menambahkan fitur untuk mencari penyisihan uang terkecil di hari ke berapa. Buatlah program untuk membantu matematikawan tersebut dengan menggunakan fungsi atau procedure!

Desain Tampilan: --Menu Utama— 1. Input Data 2. View Data

3. Cari Penyisihan Uang Terkecil Pilihan Anda :

Bila pilihan 1 : Lakukan input berikut:

< hari ke berapa (1 sampai <= 7 ) > < hasil penjualannya per hari > Contoh: Input: 1 25000 2 80000 3 80000 4 50000 5 75000 7 50000

Bila pilihan 2 : Tampilkan data dengan format berikut:

<hari ke-> <hasil penjualannya> <10 % dari uang yang disisihkan*hasil penjualannya> Contoh: Output: 1 25000 2500 2 80000 8000 3 80000 8000 4 50000 5000 5 75000 7500 7 50000 5000

Bila pilihan 3 : Tampilkan hari ke berapa yang jumlah uang sisihannya terkecil < hari > < hasi penjualannya > < uang yang disisihkan >

Contoh:

Output: 1 25000 2500

(15)

Kasus E : Perumahan Tahan Banjir

Sebuah kantor pembangunan perumahan yang bernama “Perumahan Tahan Banjir” ingin mendata rumah – rumah yang ada di dalam perumahan tersebut, mulai dari rumah kosong, dan rumah yang sudah berpenghuni, dan juga mengetahui masing2 tipe rumah yang ada sehingga bisa mengetahui area perumahan yang sudah dipakai

Tampilan pertama berisi menu pilihan yang pertama yang terdiri dari. 1. Input luas perumahan

2. Input rumah (jumlah rumah, tipe rumah, kosong/tidak)

3. Output jumlah rumah yang kosong atau tidak, dan luas area perumahan yang tidak kosong Contoh

+++++Perumahan Tahan Banjir++++++ 1. Input Luas Perumahan

2. Input Rumah

3. Output jumlah rumah kosong dan tidak luas lahan perumahan yang berpenghuni Pilih : 1

Total luas perumahan (m2) : 500000 Pilih : 2

Input jumlah rumah : 2 Rumah 1

Tipe : 24

Berpenghuni : 1 //1 untuk ia dan 0 untuk tidak Rumah 2 Tipe: 32 Berpenghuni : 1 Pilih: 3 Jumlah rumah : 2 Berpenghuni : 2 Kosong : 0

Luas lahan berpenghuni :

Luas lahan perumahan dikurang luas lahan berpenghuni 500000 – (luas tipe 24 + luas tipe 32)

(16)

Kasus F : Progam Rumus rumus matematika

Seorang guru matematika mengadakan sebuah lomba kompetisi program, program tersebut berisi rumus rumus hitung matematika.

Tampilan pertama berisi menu pilihan yang pertama yang terdiri dari. 1. Hitung luas segitiga

2. Hitung Luas Segi empat 3. Hitung Luas persegi Contoh

++++++ Rumus - rumus Matematika ++++ 1. Luas segitiga

2. Luas Segi empat 3. Luas Persegi Pilih : 1 Alas : 4 Tinggi : 2 Luas : 4 Pilih : 2 Sisi : 2 Luas : 4 Pilih : 3 Panjang : 4 Lebar: 2 Luas : 8 By. Kurnia

(17)

Kasus G : Menghitung IPK

Seorang mahasiswa baru tidak terbiasa dengan aturan perhitungan IPK, lalu ia bertanya pada Dosen, setelah bertanya pada dosen ia dapat menghitung ipk nya, namun si mahasiswa ini adalah orang yang pelupa, lalu ia bertanya lagi kepada dosen. Saking banyaknya bertanya akhirnya c dosen menyurun mahasiswa tersebut untuk membuat program menghitung IPK

Contoh

+++ IPK Kalkulator +++ 1. Input mata kuliah 2. Hitung IPK Pilih : 1

Input jumlah matakuliah : 3 Matakuliah 1 Nama Matakuliah : Jumlah SKS : Nilai : A/B/C/D Matakuliah 2 Nama Matakuliah : Jumlah SKS : Nilai : A/B/C/D Matakuliah 3 Nama Matakuliah : Jumlah SKS : Nilai : A/B/C/D Pilih : 2

IPK anda adalah :

(18)

Kasus H : Baris jadi kolom, kolom jadi baris

Pada sebuah kasus matematika, seorang mahasiswa diberi tugas oleh dosennya untuk mengubah sebuah array berdimensi dua, yaitu baris menjadi kolom , dan kolom menjadi baris. Dengan menerapkan fungsi atau prosedur buat programnya

Input

Baris kedua banyaknya kolom (k) dan baris (b) array

Baris ketiga sampai sampai b adalah nilai dari array berdimensi banyak

Output

Array yang telah diubah antara kolom dan barisnya

Contoh Input Output 3 4 1 2 3 5 6 7 8 9 0 1 5 8 2 6 9 3 7 0 By. Kurnia

Referensi

Dokumen terkait

Evaluasi terhadap kualitas estetika Kebun Raya Cibodas menggunakan responden mahasiswa menunjukkan lanskap 9 (lawn) memiliki kualitas estetika yang bagus dengan nilai

METODE (Bagian metode berisi rancangan penelitian, populasi dan sampel (subjek penelitian), teknik dan alat pengumpulan data, dan teknik analisis data. Untuk

Pada penelitian berikutnya, penulis berharap adanya penelitian analisa perbandingan yang lebih akurat dalam pembuatan super kapasitor graphene dengan menggunakan sintesis

MADRASAH IBTIDAIYAH AL-ASY’ARIYAH BANJARSARI BANDAR KEDUNG MULYO JOMBANG ULANGAN TENGAH SEMESTER GANJIL TAPEL 2014/2015 Mata Pelajaran : Matematika Nama :A. Kelas : II (Dua)

Sebagai salah satu langkah implementasi desentralisasi, Pemerintah telah menyerahkan Personil, Peralatan, Pembiayaan dan Dokumen (P3D) kepada Daerah Otonom dan seiring dengan itu

 Guru mengajukan pertanyaan yang dapat memotivasi peserta didik memunculkan pertanyaan yang berkaitan dengan pertanyaan guru, misalnya: “apakah setiap benda yang

Materi yang dibutuhkan untuk tujuan itu meliputi konsep Manajemen Berbasis Sekolah (MBS), prinsip pengembangan Manajemen Berbasis Sekolah, strategi pelaksanaan

Adapun sumber dana yang akan digunakan Wika Gedung untuk melakukan investasi bisnis ke depan adalah dari dana yang akan diperoleh perusahaan dari rencana Penawaran Umum