Prak. Alpro Modul 2

BAB I
PENDAHULUAN

1.1    Latar Belakang
Pengenalan kepada praktikan tentang penggunaan if, else dan case dalam sebuah permasalahan dengan menggunakan bahasa C.
1.2    Tujuan
Tujuan mahasiswa mengikuti praktikum Algortima Pemrograman Modul 2 ini adalah :
1.        Praktikan dapat mengenali statement bahasa C yang berupa if, else dan case.
2.        Praktikan dapat mengeimplementasikan penggunaan statement if, else dan case pada beberapa permasalahan dengan menggunakan bahasa C.



BAB II
DASAR TEORI

2.1    Teori Singkat
Pada umumnya satu permasalahan yang komplek memerlukan suatu penyelesaian kondisi. Dengan menyeleksi suatu kondisi, maka selanjutnya dapat ditentukan tindakan apa yang harus dilakukan, tergantung pada hasil kondisi penyeleksian. Jadi suatu aksi hanya dikerjakan apabila persyaratan atau kondisi tertentu terpenuhi.
a.      Penyeleksian Satu Kasus :
Pada penyeleksian satu kasus, kondisi akan diseleksi oleh statemen if , dengan pengkondisian dimasukkan kedalam "( kondisi )" setelah deklarasi if. Bila kondisi bernilai benar (true), maka aksi didalam tanda kurung kurawal {} akan diproses. Bila kondisi bernilai salah (false), maka tidak ada aksi yang akan dikerjakan. Tanda kurung kurawal {}, berfungsi untuk memasukkan aksi yang harus dilakukan.
Gambar diagram alir penyelesaian satu kasus untuk struktur IF satu kasus ditunjukkan dalam Gambar 2.1 dan struktur penulisan dalam bahasa C dapat dilihat dari Gambar 2.2.

Gambar 2.1. Diagram Alir Struktur Penyeleksian Satu Kasus

Gambar 2.2. Struktur Bahasa C Untuk Penyeleksian Satu Kasus
b.      Penyeleksian Dua Kasus, menggunakan struktur IF-ELSE:
Dalam struktur IF-ELSE, aksi1 akan dilaksanakan jika kondisi bernilai benar (true), dan jika kondisi bernilai salah (false) maka aksi2 yang akan dilaksanakan. Statemen else menyatakan ingkaran (negation) dari kondisi.
Gambar diagram alir penyelesaian dua kasus untuk struktur IF-ELSE ditunjukkan dalam Gambar 2.3 dan struktur penulisan dalam bahasa C dapat dilihat dari Gambar 2.4.

Gambar 2.3. Diagram Alir Struktur IF-ELSE

Gambar 2.4. Struktur Bahasa C Untuk Penyeleksian Dua Kasus (IF-ELSE)
c.       Penyeleksian Tiga Kasus atau Lebih (Penyeleksian Tersarang)
Untuk penyeleksian tiga kasus atau lebih juga menggunakan struktur IF-ELSE IF-ELSE sebagaimana halnya permasalahan dua kasus. 
Gambar diagram alir penyelesaian tiga kasus untuk struktur IF-ELSE IF-ELSE ditunjukkan dalam Gambar 2.5 dan struktur penulisan dalam bahasa C dapat dilihat dari Gambar 2.6.

Gambar 2.5. Diagram alir dari struktur tiga kasus IF-ELSE IF-ELSE (tersarang)

Gambar 2.6. Struktur Bahasa C untuk Penyeleksian Tiga Kasus IF-ELSE IF-ELSE (tersarang)
d.      Struktur CASE. Struktur ini dapat digunakan untuk menganalisa penyeleksian dua kasus atau lebih dan bentuknya adalah lebih sederhana daripada struktur IF -ELSE yang memiliki bentuk bertingkat-tingkat. Gambar 2.7 memperlihatkan Struktur CASE.

Gambar 2.7. Struktur Bahasa C Untuk Seleksi CASE
Kondisi1, kondisi2, … kondisiN dapat bernilai benar atau salah. Tiap kondisi diperiksa nilai kebenarannya mulai dari kondisi pertama sampai ditemukan  kondisi yang benar. Jika kondisi ke-k benar, maka aksi ke-k dilaksanakan, selanjutnya keluar dari struktur CASE. Aksi yang dipasangkan dengan kondisi ke-k dapat lebih dari satu, karena itu ia berupa runtunan. Jika tidak ada satupun kondisi yang benar, maka aksi sesudah otherwise (optional) dikerjakan.

BAB III
TUGAS PENDAHULUAN

3.1.  Pertanyaan
1.    Jelaskan pada kondisi apa sebaiknya struktur seleksi if dan case digunakan! Apa perbedaan dari kedua struktur tersebut?
2.    Buatlah algoritma untuk menentukan bilangan terbesar dari tiga buah bilangan bulat yang dimasukkan melalui piranti masukan. (Asumsi: ketiga bilangan adalah bilangan yang berbeda)
Contoh keluaran yang diinginkan;
Masukkan bilangan pertama : 4
Masukkan bilangan kedua : 2
Masukkan bilangan ketiga : 7
Bilangan yang terbesar adalah : 7
3.    Buatlah algoritma konversi dari nilai angka menjadi nama hari. (Asumsi: 1=Senin, 2=Selasa, 3=Rabu, 4=Kamis, 5=Jumat, 6=Sabtu, 7=Minggu)
Contoh keluaran yang diinginkan:
Masukkan Angka yang menunjukkan hari : 1
Hari yang anda pilih : Senin
3.2.  Penyelesaian
1.      Struktur if sebaiknya digunakan ketika ada 2 atau 3 kondisi, untuk struktur case sebaiknya digunakan bila terdapat banyak kondisi.
2.      Algoritma Nilai Terbesar dari 3 Nilai
a.       Masukkan bilangan pertama (bil1)
b.      Masukkan bilangan kedua (bil2)
c.       Masukkan bilangan ketiga (bil3)
d.      Melakukan pengecekan, jika bil1 > bil2 dan bil2 > bil3. Maka bilangan terbesar adalah bil1.
e.       Melakukan pengecekan, jika bil2 > bil1 dan bil2 > bil3. Maka bilangan terbesar adalah bil2.
f.       Jika tidak maka bilangan terbesarnya adalah bil3.
3.      Algoritma Konversi Nilai Angka ke Hari
a.       Masukkan nilai angka (a)
b.      Melakukan pengecekan, jika a = 1. Maka tampilannya “Senin”
c.       Melakukan pengecekan, jika a = 2. Maka tampilannya “Selasa”
d.      Melakukan pengecekan, jika a = 3. Maka tampilannya “Rabu”
e.       Melakukan pengecekan, jika a = 4. Maka tampilannya “Kamis”
f.       Melakukan pengecekan, jika a = 5. Maka tampilannya “Jum’at”
g.      Melakukan pengecekan, jika a = 6. Maka tampilannya “Sabtu”
h.      Melakukan pengecekan, jika a = 7. Maka tampilannya “Minggu”
i.        Jika bilangan lain, maka tampilannya “Masukkan yang Anda Inputkan Salah”

BAB IV
IMPLEMENTASI

4.1.  Kegiatan Praktikum
Pada saat praktikum, kerjakan tugas-tugas berikut ini:
1.      Buat program untuk prepraktikum 2!
2.      Buat program untuk prepraktikum 3!
3.      Tugas tambahan (ditentukan oleh asisten praktikum)!
a.    Cari library pada c, sebutkan fungsi dan macam-macamnya!
b.   Fungsi-fungsi input dan ouput data seperti : print, gets. puts, scan, dll
4.2.  Implementasi Kegiatan Praktikum

2.      #include
main(){
int a;
printf("Program Konversi Angka ke Hari\n");
printf("Masukkan Angkanya : \n"); scanf("%d", &a);
switch (a){
case 1 : printf("Hari Senin\n"); break;
case 2 : printf("Hari Selasa\n"); break;
case 3 : printf("Hari Rabu\n"); break;
case 4 : printf("Hari Kamis\n"); break;
case 5 : printf("Hari Jum'at\n"); break;
case 6 : printf("Hari Sabtu\n"); break;
case 7 : printf("Hari Minggu\n"); break;
default : printf("Masukkan Salah\n"); break;
}
}
3.      a. Macam-macam library pada bahasa C
1.         stdio.h untuk input data terformat [scanf(), gets()]dan output [printf()]
2.         conio.h untuk input data tidak terformat [getche( ), getchar( ), getch( ) dan gets( )]
3.         string.h untuk manipulasi data String
4.         stdlib.h library standar dari C
5.         math.h untuk fungsi matematika lanjut
6.         ctype.h library utility pendukung
7.         bool.h untuk menggunakan true / false
b.   1.    Fungsi printf() digunakan untuk menampilkan semua jenis data (numeric dan
karakter)
2.         Fungsi puts() digunakan untuk menampilkan data string dan secara otomatis akan diakhiri dengan perpindahan baris.
3.         Fungsi putchar() digunakan untuk menampilkan sebuah karakter.
4.         Fungsi scanf() digunakan untuk membaca karakter data
5.      Fungsi getche() digunakan untuk memasukkan 1 karakter tanpa Enter tapi ditampilkan.
6.         Fungsi getch() digunakan untuk memasukkan 1 karakter tanpa Enter dan tidak ditampilkan.
7.         Fungsi gets() digunakan untuk memasukkan data bertipe karakter dan tidak dapat digunakan untuk memasukkan data numerik
8.      Fungsi getchar() digunakan untuk memasukkan 1 karakter diakhiri dengan Enter.
1.2.  Tugas Akhir
1.      Buatlah algoritma dan terjemahkan dalam Bahasa C untuk mengurutkan tiga buah bilangan bulat (dari yang terkecil ke yang terbesar) yang dimasukkan melalui piranti masukan! (Asumsi: ketiga bilangan yang dimasukkan adalah bilangan yang berbeda)
Contoh:
Masukkan bilangan pertama : 9
Masukkan bilangan kedua : 1
Masukkan bilangan ketiga : -7
Urutan bilangan: -7    1     9
1.3.  Penyelesaian Tugas Akhir
1.      #include
int main(){
int a, b, c;
printf("(Masukkan hanya bilangan bulat)\n");
printf("Masukkan bilangan pertama : "); scanf("%d", &a);
printf("Masukkan bilangan kedua : "); scanf("%d", &b);
printf("Masukkan bilangan ketiga : "); scanf("%d", &c);

BAB V
PENUTUP

5.1.  Analisa
            Penggunaan If lebih efektif jika digunakan untuk penyeleksian data atau permasalahan yang berupa rentang data, sedangkan Case lebih efektif jika digunakan untuk penyeleksian data yang sudah pasti.

5.2.  Kesimpulan
Penggunaan struktur If atau Case sebaiknya digunakan pada kondisi yang tepat sehingga penggunaan source code lebih ringkas dan program yang dihasilkan lebih efektif. Jika kondisi suatu masalah yang harus diseleksi banyak, maka Case-lah yang paling tepat. Namun, jika data masih berupa rentang nilai maka If-lah yang peling efektif dengan menambahkan operator logika pada If bersarangnya.


0 komentar:

Posting Komentar