Anda di halaman 1dari 20

MAKALAH

“STRUKTUR PEMILIHAN (ANALISA KASUS)”


KELOMPOK 3

Disusun oleh :
Kelompok 3
1. Kardo Simanjuntak: 5162331004
2. Ichan M Manurung : 5163331013
3. Wanjul F.Sirait : 5163331028

PENDIDIKAN TEKNIK ELEKTRO

FAKULTAS TEKNIK

UNIVERSITAS NEGERI MEDAN

2018
KATA PENGANTAR

Puji syukur sama-sama kita ucapkan bagi Tuhan Yang Maha Kuasa, atas berkat dan
karuniaNya penulis dapat merealisasikan makalah ini dengan tepat pada waktunya. Tujuan penulis
membuat makaah ini yaitu untuk memenuhi tugas yang diberikan bapak dosen. Makalah adalah
tugas wajib dalam setiap mata kuliah termasuk mata kuliah PEMEROGRAMAN KOMPUTER.
Makalah ini ditujukan untuk mengembangkan pengetahuan Mahasiswa atau sebagai materi
tambahan yang akan dipelajari dalam jadwal mata kuliah Aljabar teknik, sekaligus pembuatan
makalah ini bermaksud untuk mengembangkan pengetahuan mahasiswa dalam membuat suatu
makalah dengan baik dan benar. dengan adanya pembuatan suatu makalah, maka dari ini
Mahasiswa menjadi terbiasa untuk membaca terlebih dahulu sebuah buku yang akan dijadikan
sebagai sumber topik bahasan dan jikalau materi belum merasa sempurna maka mahasiswa
tersebut akan semakin mencari materi tambahan itu tepatnya bisa terdapat dari berbagai sumber
seperti ,dari internet, surat kabar, dan dari media lainnya. Dengan kebiasaan membaca berbagai
sumber, wawasan Mahasiswa akan semakin luas.

Penulis berterima kasih kepada dosen Pembina matakuliah ini yang telah memberikan
arahan dalam mengerjakan makalah ini. Dalam makalah ini kami sangat meyakinkan bahwa isi
dari makalah ini masih jauh dari yang diharapkan, oleh sebab itu penyusun sangat mengharapkan
saran dan sumbangan pemikiran yang bertujuan untuk penyempurnaan makalah ini agar menjadi
lebih baik lagi. Atas saran dan sumbangan pemikiran yang diberikan oleh pembaca kami ucapkan
terimakasih.

Medan, 1 Oktober 2018

Kelompo 3
DAFTAR ISI
Kata penghantar 1

Bab 1 pendahuluan 3

Latar belakang 3

Tujuan penulisan 3

Manfaat penulisan 3

Bab2 pembahasan 4

Pemilihan menggunakan bahasa c 4

Analisa satu kasus 7

Penyelasaian masalah dengan satu kasus 8

Analisa 2 kasus 14

Bab 3 penutup 18

Kesimpulan dan saran 18

Daftar pustaka 19
BAB 1

PENDAHULUAN
1. LATAR BELAKANG

Pemilihan dalam bahasa c hampir sama dengan bahasa pascal, dapat menggunakan statemen
if atau switch. Letak perbedaannya hanya di penulisan dan jumlah kondisi. Pada umumnya, if
digunakan saat kondisi kurang dari 3, sedangkan case digunakan saat kondisi lebih dari 3.
Dalam menggunakan bahasa c banyak sekali yang perlu di pelajari hal yang paling penting
untuk di pelajari ialah pemecahan masalah yang berbasis bahasa c yang dapat di gunakan untuk
keperluan dalam pembuatan sebuah program komputer.

2. Tujuan penulisan makalah


a) Mahasiswa dapat menganalisa sebuah kasus
b) Mahasiswa dapat menganalisa sebuah menganalisa 2 kasus
c) Mahasiswa dapat memahami sebuah kasus

3. Manfaat penulisan
a) Mahasiswa dapat menyelasaikan masalah dengan satu kasus
b) Mahasiswa dapat menyelasaikan masalah dengan 2 kasus
BAB 2

PEMBAHASAN

A. Pemilihan Menggunakan C

Pemilihan dalam bahasa c hampir sama dengan bahasa pascal, dapat menggunakan statemen if
atau switch. Letak perbedaannya hanya di penulisan dan jumlah kondisi. Pada umumnya, if
digunakan saat kondisi kurang dari 3, sedangkan case digunakan saat kondisi lebih dari 3.

bentuk if:

if (kondisi1){
statement1 yang dieksekusi;
statement1 yang dieksekusi;
……………………………………;
}

Bentuk if dengan dua kasus:

if (kondisi1){
statement1 yang dieksekusi;
statement1 yang dieksekusi;
……………………………………;
} else if (kondisi2){
statement1 yang dieksekusi;
statement1 yang dieksekusi;
……………………………………;
}

Bentuk switch:

switch (ekspresi);
case (nilai_kostan1):{
statemen_yang _dilaksanakan;
……………………………………….;
break;
}
case (nilai_kostan2):{
statemen_yang _dilaksanakan;
……………………………………….;
break;
}

Untuk menjelaskan lebih lanjut tentang penggunaan if, saya berikan contoh dibawah ini:
Program wartel ini merupakan pemilihan bahasa pemrograman c dengan menggunakan statemen
if.

#include <stdio.h>
#include <conio.h>
#include <iostream.h>

void main()
{
typedef struct { int hh;
int mm;
int ss;
} jam;

jam jam1,jam2,jam3;
int kode,mulai,selesai,c,sisa,biaya;
long int tlp,t1,t2,total;

do{
printf("\n-------------------------");
printf("\nINPUT DATA");
printf("\n-------------------------\n");
printf("Kode Wilayah: 0");scanf("%d",&kode);
printf("No. Tlp : ");scanf("%l",&tlp);
printf("Jam Mulai :");
printf("\njam : ");scanf("%d",&jam1.hh);
printf("menit : ");scanf("%d",&jam1.mm);
printf("detik : ");scanf("%d",&jam1.ss);
printf("jam Selesai :\n ");
printf("jam : ");scanf("%d",&jam2.hh);
printf("menit : ");scanf("%d",&jam2.mm);
printf("detik : ");scanf("%d",&jam2.ss);

printf("\n---------------------------------------");
printf("\nMENU UTAMA WARTEL DAYEUH KOLOT BANDUNG");
printf("\n---------------------------------------");
printf("\nMenu 1: Melihat Informasi Percakapan (kode wilayah
(BDG/JKT/KDS))");
printf("\nMenu 2: Menghitung Durasi Lama Bicara");
printf("\nMenu 3: Menghitung Biaya Percakapan ");
printf("\nMenu 4: Keluar");
printf("\nMasukkan pilihan Anda (1/2/3/4): ");scanf("%d",&c);

if (c==1)
{
printf("\n-------------------------\n");
printf("Melihat Informasi Percakapan");
printf("\n-------------------------\n");

{if (kode==291)
printf("0291 Kode Area Kudus");

if (kode==21)
printf("021 Kode Area Jakarta");

if (kode==22)
printf("022 Kode Area Bandung");

if (kode!=22 && kode !=291 && kode!=21)


printf("salah");
}
}

if (c==2)
{
printf("\n-------------------------\n");
printf("Menghitung Durasi Lama Bicara");
printf("\n-------------------------\n");
t1=jam1.hh*3600+jam1.mm*60+jam1.ss;
t2=jam2.hh*3600+jam2.mm*60+jam2.ss;
total=t2-t1;
jam3.hh = total / 3600 ;
sisa = total % 3600 ;
jam3.mm = sisa / 60 ;
jam3.ss = sisa % 60 ;
printf("Durasi--> %d jam :%d menit :%d detik",jam3.hh,jam3.mm,jam3.ss);
}

if (c==3)
{
printf("\n-------------------------\n");
printf("Menghitung Biaya Percakapan");
printf("\n-------------------------\n");
{t1=jam1.hh*3600+jam1.mm*60+jam1.ss;
t2=jam2.hh*3600+jam2.mm*60+jam2.ss;
total=t2-t1;
jam3.hh = total / 3600 ;
sisa = total % 3600 ;
jam3.mm = sisa / 60 ;
jam3.ss = sisa % 60 ;};

if (kode==22){
biaya=jam3.hh*1100+jam3.mm*100+jam3.ss*1;
printf("%d",biaya);}

if (kode==291 || kode==21){
biaya=jam3.hh*2200+jam3.mm*200+jam3.ss*2;
printf("%d",biaya);}

if (kode!=291 && kode!=21 && kode!=22){


printf("Kode Area yang Anda masukkan salah!!..");}
}

if (c==4)
{
break;
}
}while(c<=4);
getch();
}
B. ANALISA SATU KASUS

Sesuai namanya, menganalisis kasus artinya mengidentifikasi kasus-kasus apa saja yang terdapat di dalam
persoalan, kondisi (syarat) yang harus dipenuhi pada setiap kasus, dan aksi yang dilakukan jika kondisi
tersebut dipenuhi. Adanya analisis kasus menyebabkan terjadinya pemilihan pencabangan instruksi di
dalam algoritma, bergantung pada kasus mana yang dipenuhi.

Kondisi adalah suatu ekspresi boolean yang bernilai true atau false dan menentukan aksi yang dilakukan
jika kondisi tersebut berlaku (memenuhi).

Dalam menganalisis kasus, semua kasus harus dijabarkan dengan lengkap. Bergantung pada persoalannya,
ada persoalan yang terdiri dari satu kasus, dua kasus, tiga kasus, atau lebih.

1. SATU KASUS

Notasi algoritma untuk analisis dengan satu kasus adalah dengan menggunakan konstruksi IF-THEN (jika
– maka) yakni :

if kondisi then

aksi

end if

Instruksi tersebut berarti bahwa aksi hanya dilaksanakan bila kondisi benar (true). Bila kondisi salah
(false), maka tidak ada aksi apapun yang dikerjakan. Kata end if sengaja aku tambahin biar mempertegas
awal dan akhir struktur if-then itu sendiri.

ika nilai ekspresi sama dengan nilaik, maka aksik dilaksanakan. Aksi yang bersesuaian dengan nilaik dapat
lebih dari satu, karena itu ia berupa runtunan. Jika tidak ada satu pun nilai ekspresi yang cocok, maka aksix
setelah otherwise dikerjakan. Otherwise bersifat optional, artinya ia boleh ditulis atau tidak di dalam
konstruksi case. Dalam penulisan algoritma juga biasanya ditulis dengan depend on – default. Konstruksi
ini sering digunakan dalam memilih menu program. Program menawarkan sejumlah menu. Pengguna
cukup mengetikkan nomor menu yang diinginkan. Setiap kali nomor menu dipilih, maka prosedur yang
berasosiasi dengan nomor menu tersebut dieksekusi.
C. PENYELESAIAN MASALAH DENGAN SATU KASUS

Tahapan-tahapan pemrograman dalam menyelesaikan masalah :

1. Definisikan Masalah

Berikut adalah hal-hal yang harus diketahui dalam analisis masalah supaya kita mengetahui
bagaimana permasalahan tersebut:

 Kondisi awal, yaitu input yang tersedia.


 Kondisi akhir, yaitu output yang diinginkan.
 Data lain yang tersedia.
 Operator yang tersedia.
 Syarat atau kendala yang harus dipenuhi

2. Buat Algoritma dan Struktur Cara Penyelesaian

Jika masalahnya kompleks, maka dibagi ke dalam modul-modul. Tahap penyusunan algoritma
seringkali dimulai dari langkah yang global terlebih dahulu. Langkah global ini diperhalus
sampai menjadi langkah yang lebih rinci atau detail. Cara pendekatan ini sangat bermanfaat
dalam pembuatan algoritma untuk masalah yang kompleks. Penghalusan langkah dengan cara
memecah langkah menjadi beberapa langkah. Setiap langkah diuraikan lagi menjadi beberapa
langkah yang lebih sederhana. Penghalusan langkah ini akan terus berlanjut sampai setiap
langkah sudah cukup rinci dan tepat untuk dilaksanakan oleh pemroses.

3. Menulis Program

Algoritma yang telah dibuat, diterjemahkan dalam bahasa komputer menjadi sebuah program.
Perlu diperhatikan bahwa pemilihan algoritma yang salah akan menyebabkan program memiliki
untuk kerja yang kurang baik. Program yang baik memiliki standar penilaian:

Standar teknik pemecahan masalah

 Teknik Top-Down
Teknik pemecahan masalah yang paling umum digunakan. Prinsipnya adalah suatu
masalah yang kompleks dibagi-bagi ke dalam beberapa kelompok masalah yang lebih
kecil. Dari masalah yang kecil tersebut dilakukan analisis. Jika dimungkinkan maka
masalah tersebut akan dipilah lagi menjadi subbagian-subbagian dan setelah itu mulai
disusun langkah-langkah penyelesaian yang lebih detail.
 Teknik Bottom-Up
Prinsip teknik bottom upadalah pemecahan masalah yang kompleks dilakukan dengan
menggabungkan prosedur-prosedur yang ada menjadi satu kesatuan program sebagai
penyelesaian masalah tersebut.
Standar penyusunan program

 Kebenaran logika dan penulisan.


 Waktu minimum untuk penulisan program.
 Kecepatan maksimum eksekusi program.
 Ekspresi penggunaan memori.
 Kemudahan merawat dan mengembangkan program.
 User Friendly.
 Portability.
 Pemrograman modular.

4. Mencari Kesalahan

Kesalahan sintaks (penulisan program).


Kesalahan pelaksanaan: semantik, logika, dan ketelitian.

5. Uji dan Verifikasi Program

Pertama kali harus diuji apakah program dapat dijalankan. Apabila program tidak dapat
dijalankan maka perlu diperbaiki penulisan sintaksisnya tetapi bila program dapat dijalankan,
maka harus diuji dengan menggunakan data-data yang biasa yaitu data yang diharapkan oleh
sistem. Contoh data ekstrem, misalnya, program menghendaki masukan jumlah data tetapi
usermengisikan bilangan negatif. Program sebaiknya diuji menggunakan data yang relatif
banyak.

6. Dokumentasi Program

Dokumentasi program ada dua macam yaitu dokumentasi internal dan dokumentasi eksternal.
Dokumentasi internal adalah dokumentasi yang dibuat di dalam program yaitu setiap kita
menuliskan baris program sebaiknya diberi komentar atau keterangan supaya mempermudah kita
untuk mengingat logika yang terdapat di dalam instruksi tersebut, hal ini sangat bermanfaat
ketika suatu saat program tersebut akan dikembangkan. Dokumentasi eksternal adalah
dokumentasi yang dilakukan dari luar program yaitu membuat user guideatau buku petunjuk
aturan atau cara menjalankan program tersebut.

7. Pemeliharaan Program

Memperbaiki kekurangan yang ditemukan kemudian.


Memodifikasi, karena perubahan spesifikasi.
Contoh :

1. Definisi masalah

2. Buat Model
3. Rancang Algoritma
4. Tulis Program

5. Compile
6. Compile Error

7. Executable code => Run


8. Error

D. ANALISA 2 KASUS

adalah suatu bagian yang bertugas melakukan kegiatan mengulang suatu proses sesuai dengan yang
diinginkan. Banyak dari aplikasi perangkat lunak yang melakukan pekerjaan berulang sampai sebuah
kondisi yang diinginkan, oleh karena itu pengulangan merupakan bagian yang penting dalam pemrograman
karena dengan adanya pengulangan pembuat program tidak perlu menulis kode program sebanyak
pengulangan yang diinginkan.

pengulangan mempunyai beberapa bagian yang harus dipenuhi yaitu :

 Inisialisasi adalah tahap persiapan membuat kondisi awal sel melakukan pengulangan, misalnya
mengisi variabel dengan nilai awal. Tahap ini dilakukan sebelum memasuki bagian pengulangan.
 Proses terjadi di dalam bagian pengulangan dimana berisi semua proses yang perlu dilakukan
secara berulang-ulang.
 Iterasi terjadi di dalam pengulangan di mana merupakan kondisi pertambahan agar pengulangan
dapat terus berjalan.
 Terminasi adalah kondisi berhenti dari pengulangan, kondisi berhenti sangat penting dalam
pengulangan agar pengulangan dapat berhenti, tidak menjadi pengulangan yang tanpa henti.
Kondisi pengulangan adalah kondisi yang dipenuhi oleh kondisi jalannya algoritma untuk masuk
ke dalam blok pengulangan.

Pengulangan merupakan salah satu inti dari analisis kasus pada pembuatan algoritma, sebuah kasus harus
dipikirkan penyelesaiannya dengan pemikiran ada proses atau aksi yang harus dikerjakan secara berulang
agar sebuah kasus terselesaikan

Pengulangan ‘for’

Struktur pengulangan for biasa digunakan untuk mengulang suatu proses yang telah diketahui jumlah
pengulangannya. Dari segi penulisannya, struktur pengulangan for tampaknya lebih efisien karena
susunannya lebih simpel dan sederhana. Bentuk umum pengulangan for adalah sebagai berikut :

for(Inisialisasi; Terminasi; Iterasi){


Proses;
}

Contoh Kode Program Menampilkan Tulisan:

#include "stdio.h"
main(){
int x;
for(x=1; x<=10; x++){
printf("%d. Belajar Pengulangan forn", x);
}
}

Contoh Kode Program Menampilkan Bilangan Ganjil

#include "stdio.h"
main(){
int x;
for(x=1;x<=10;x++){
if(x%2==1){
printf("%d ", x);
}
}
}
Pengulangan “while”

Pada pengulangan while, pengecekan terhadap pengulangan dilakukan di bagian awal (sebelum tubuh
loop). Lebih jelasnya, bentuk struktur pengulangan while adalah sebagai berikut:

Inisialisasi
while(Terminasi){
Proses
Iterasi
}

Contoh Kode Program Menampilkan Tulisan:

#include "stdio.h"
main(){
int x;
x=1;
while(x<=10){
printf("%d. Belajar Pengulangan Whilen", x);
x++;
}
}

Contoh Kode Program Menampilkan Bilangan Ganjil

#include "stdio.h"
main(){
int x;
x=1;
while(x<=100){
if(x%2!=0){
printf("%d ", x);
}
x++;
}
}

Pengulangan ‘do-while’

Perbedaan mendasar dengan pengulangan yang lain adalah pada pengulangan do-while, proses
pasti akan dilakukan minimal 1 kali. Hal ini terjadi karena terminasi diletakan setelah proses.
Berikut ini struktur dari pengulangan do-while:

Inisialisasi
do{Proses
Iterasi
}while(Terminasi)
Setelah proses dijalankan 1 kali maka barulah terjadi pengecekkan apakah proses diulang lagi
atau tidak.

Contoh Kode Program Menampilkan Tulisan:

#include "stdio.h"
main(){
int x;
x=1;
do{
printf("%d. Belajar Pengulangan do-Whilen", x);
x++;
}while(x<=10);
}

Contoh Kode Program Menampilkan Bilangan Kelipatan 3:

#include "stdio.h"
main(){
int x;
x=1;
do{
if(x%3==0){
printf("%d ", x);
}
x++;
}while(x<=10);
}

Contoh Kode Program Mengulang Pilihan Program:

#include "stdio.h"
#include "stdlib.h"
main(){
int x,pilihan;
do{
system("cls");
printf("Pilihlah Menu Berikut Ini :n");
printf("t1.Cetakn");
printf("t2.Lihatn");
printf("t3.Keluarn");
printf("Pilihan Anda : ");
scanf("%d",&pilihan);

if(pilihan==1){
printf("nCetak Laporan. Siapkan Printer");
}else if(pilihan==2){
printf("nTampilkan Laporan");
}
getch();
}while(pilihan!=3);
}
BAB 3

PENUTUP

KESIMPULAN DAN SARAN

KESIMPULAN

Pemilihan dalam bahasa c hampir sama dengan bahasa pascal, dapat menggunakan statemen if
atau switch. Letak perbedaannya hanya di penulisan dan jumlah kondisi. Pada umumnya, if
digunakan saat kondisi kurang dari 3, sedangkan case digunakan saat kondisi lebih dari 3.

menganalisis kasus artinya mengidentifikasi kasus-kasus apa saja yang terdapat di dalam persoalan, kondisi
(syarat) yang harus dipenuhi pada setiap kasus, dan aksi yang dilakukan jika kondisi tersebut dipenuhi.
Adanya analisis kasus menyebabkan terjadinya pemilihan pencabangan instruksi di dalam algoritma,
bergantung pada kasus mana yang dipenuhi.

Kondisi adalah suatu ekspresi boolean yang bernilai true atau false dan menentukan aksi yang dilakukan
jika kondisi tersebut berlaku (memenuhi) ika nilai ekspresi sama dengan nilaik, maka aksik dilaksanakan.
Aksi yang bersesuaian dengan nilaik dapat lebih dari satu, karena itu ia berupa runtunan. Jika tidak ada satu
pun nilai ekspresi yang cocok, maka aksix setelah otherwise dikerjakan. Otherwise bersifat optional,
artinya ia boleh ditulis atau tidak di dalam konstruksi case. Dalam penulisan algoritma juga biasanya ditulis
dengan depend on – default. Konstruksi ini sering digunakan dalam memilih menu program. Program
menawarkan sejumlah menu. Pengguna cukup mengetikkan nomor menu yang diinginkan. Setiap kali
nomor menu dipilih, maka prosedur yang berasosiasi dengan nomor menu tersebut dieksekusi.

SARAN

Masih banyak kekurangan dalam makalah ini.


Daftar pustaka

1. Heriyanto, Imam, Budi Raharjo (2003). Pemrograman Borland C++ Builder. Informatika
2. Bandung.. Indrajit, Richardus Eko. Manajemen Sistem Informasi dan Teknologi Informasi.
Indrajit, Richardus Eko. Kajian Strategis Analisa Cost-Benefit Investasi Teknologi Informasi. Lidya,
Leoni, rinaldi Munir (2002). Algoritama dan Pemrograman dalam Bahas Pascal dan C.
3. Informatika Bandung. Sanjaya, Dwi (2005). Asyiknya Belajar Struktur Data di Planet
C++. Elex Media
4. Komputindo. Solichin, Achmad (2003). Pemrograman Bahasa C dengan Turbo C. Materi Kuliah
Struktur Data - Tree Structure.pdf
5. Modul Praktikum “Struktur Data” Laboratorium Dasar Komputer. Program Ilmu Komputer
Universitas Sriwijaya 2006. Copyright@PIK-Unsri Maret 2006.pdf
6. IlmuKomputer.Com. Wahono, Romi Satria(2003). Cepat MahirBahasa. IlmuKomputer.Com

Anda mungkin juga menyukai