Anda di halaman 1dari 6

PERTEMUAN V

FUNCTION
TUGAS PENDAHULUAN
1. Apa yang dimaksud dengan fungsi!
2. Jelaskan yang dimaksud dengan pemanggilan secara nilai (call by value) dan pemanggilan secara
referensi (call by Reference)!
3. Jelaskan yang dimaksud dengan variabel lokal, variabel eksternal atau global, dan variabel statis!
4. Buatlah contoh program sederhana menggunakan fungsi!

Jawaban
1. Fungsi adalah sekumpulan perintah operasi program yang dapat menerima argumen input dan
dapat memberikan hasil output yang dapat berupa nilai ataupun sebuah hasil operasi. Nama
fungsi yang didefinisikan sendiri oleh pemrogram tidak boleh sama dengan nama build-in
function pada compiler c++.
2. a. Pemanggil secara nilai (call by value).
- Call by value akan menyalin nilai dari parameter aktual ke parameter formal.
- Yang dikirimkan ke fungsi adalah nilai dari datanya, bukan alamat memori letak dari datanya.
- Fungsi yang menerima kiriman nilai akan menyimpannya dialamat terpisah dari nilai aslinya
yang digunakan oleh bagian program yang memanggil fungsi
- Perubahan nilai di fungsi (parameter formal) tidak akan merubah nilai asli dibagian program yang
memanggilnya.
- Pengiriman parameter secara nilai adalah pengiriman searah, yaitu dari bagian program yang
memanggil fungsi ke fungsi yang dipanggil.
- Pengiriman suatu nilai dapat dilakukan untuk suatu ungkapan, tidak hanya untuk sebuah variabel,
elemen array atau konstanta saja.
b. Pemanggil secara Referensi (call by Reference)
- Pemanggilan secara referensi merupakan upaya untuk melewatkan alamat dari suatu variabel
kedalam fungsi.
- Yang dikirimkan ke fungsi adalah alamat letak dari nilai datanya, bukan nilai datanya.
- Fungsi yang menerima kiriman alamat ini maka menggunakan alamat yang sama untuk
mendapatkan nilai datanya.
- Perubahan nilai di fungsi akan merubah nilai asli dibagian program yang memanggil fungsi.
- Pengiriman parameter secara referensi adalah pengiriman dua arah, yaitu dari fungsi pemanggil
ke fungsi yang dipanggil dan juga sebaliknya.
- Pengiriman secara acuan tidak dapat dilakukan untuk suatu ungkapan.

3. a. Variabel Lokal (Variabel Otomatis)


Variabel yang didefinisikan didalam suatu fungsi dan berlaku sebagai variabel lokal bagi fungsi
variabel hanya dikenal didalam fungsi dimana variabel itu didefinisikan dan tidak dikenal oleh
fungsi lain.
Sifat variabel otomatis :
- hanya diciptakan saat fungsi dipanggil.
- saat fungsi berakhir, variabel otomatis akan dihapus.
- hanya dapat diakses didalam fungsi yang mendefinisikannya.
b. Variabel Eksternal (Variabel Global)
- Variabel yang didefinisikan diluar fungsi manapun sehingga dikenal oleh semua fungsi.
- Variabel eksternal mempunyai lifetime selama program dieksekusi.
- Variabel eksternal sebaiknya digunakan sesedikit mungkin atau bahkan tidak digunakan sama
sekali.
c. Variabel Statis
Variabel Statis memiliki beberapa sifat sebagai berikut :
- Variabel hanya dapat diakses pada fungsi yang didefinisikannya
- Variabel tidak hilang setelah di eksekusi berakhir.
Nilai nya akan tetap dipertahankan sehingga akan dikenali pada pemanggilan fungsi untuk tahap
selanjutnya.
- Inisialisasi oleh pemrogram hanya dilakukan sekali saja selama program dijalankan. Jika tidak ada
inisialisasi secara eksplisit, maka variabel di isi dengan nilai nol.

4. Program sederhana menggunakan fungsi.


//Penggunaan Fungsi Rekursif:
//Program mengecek sebuah bilangan integer atau bukan
#include<iostream>
#include<conio.h>
#include<stdio.h>
using namespace std;

void cekInt(double);
void main ()
{
double angka;
cout<<”Masukkan Sebuah Angka :”;
cin>>angka;
}
void cekInt(double n)
{
if(n>1) cekInt(n-1);
else if(n<1) cekInt(-n-1);
else
{
if(n>0&&n<1)
cout<<n<<”\tBukan Bilangan Bulat \n”;
else
cout<<n<<”\t Bilangan Bulat \n”;
}
}
PERTEMUAN 6

1. Apa yang dimaksud dengan searching!


2. Jelaskan perbedaan dari sequential search, binary search, dan interpolation search sebagai
metode-metode searching!
3. Jelaskan apa saja yang mempengaruhi kecepatan proses pencarian data didalam penyimpanan
data!
4. Buatlah contoh program sederhana menggunakan searching!

Jawaban
1. Searching merupakan proses yang mendasar didalam pemrograman. Searching juga merupakan
tindakan untuk mendapatkan suatu data dalam kumpulan data berdasarkan suatu kunci (key) atau
acuan data.
2. Sequential Search : proses membandingkan setiap elemen array dari awal sampai akhir secara
berurutan sampai elemen yang dicari ditemukan.
Binary Search : metode pencarian suatu data atau elemen didalam suatu array dengan kondisi
data dalam keadaan terurut.
Interpolation Search : metode yang dilakukan pada data yang sudah terurut berdasarkan kunci
tertentu.
3. Register
Menyimpan instruksi selama proses berjalan, ukuran sesuai dengan jumlah data yang dapat
diproses dalam satu waktu (Reg ukuran 32 bit berarti dapat memproses 4 byte data dalam satuan
waktu.
RAM
Semakin besar RAM maka semakin banyak data yang disimpan sehingga akses ke data lebih
cepat (dibandingkan dengan mengakses ke Secondary Storage). Jika ukuran aplikasi besar dan
tidak cukup untuk diload sekalian ke dalam memori maka dilakukan proses segmentasi dan
swapping (pemindahan data dari memory ke storage).
CPU clock
Semakin tinggi clock CPU maka semakin cepat / semakin banyak perintah yang dapat
dieksekusi.
Bus / datapath
Menentukan besarnya data yang dapat ditransmisikan antara CPU dan device yang lain. ( seperti
jalan raya).
Cache memory
semakin cepat, dan besar cache maka proses akan menjadi lebih cepat.
4. Program sederhana menggunakan searching.
#include <conio.h>
#include <iostream>
#include<stdio.h>
using namespace std;
main()
{
int c,i,posisi;
int A[20]={3,2,4,10,20,1,5,8,7,9,6,5,11,12,14,13,16,15,17,19};
cout<<"Data : ";
for(i=0;i<20;i++){
cout<<A[i]<<" ";
}
cout<<"\nData yang ingin dicari : ";
cin>>c;
i=0;
posisi=0;
while(i<19 && A[i]!=c){
i++;
}
if (A[i]!=c){
cout<<"Maaf data yang dicari tidak ada";
}
else if(posisi=i+1)
cout<<"ditemukan pada posisi ke "<<posisi;
getch();
}
PERTEMUAN VII
SORTING
TUGAS PENDAHULUAN
1. Apa yang dimaksud dengan sorting!
2. Jelaskan perbedaan dari pengurutan internal dan pengurutan eksternal!
3. Jelaskan perbedaan metode-metode sorting seperti : Bubble Sort, Quick Sort, Selection Sort,
Merge Sort, Tree Sort, Maximum Sort, dan Insertion Sort!
4. Buatlah contoh program sederhana menggunakan sorting!

Jawaban
1. Sorting (pengurutan) adalah proses pengurutan data yang sebelumnya disusun secara acak atau
tidak teratur menjadi urut dan teratur menurut suatu aturan tertentu. Sorting dapat dibedakan
menjadi dua jenis yaitu ascending dan descending.

2. - Pengurutan Internal (Internal Sort) yaitu pengurutan terhadap sekumpulan data yang disimpan
dalam media internal komputer yang dapat diakses setiap elemennya secara langsung. Dapat
dikatakan sebagai pengurutan tabel.
- Pengurutan Eksternal (External Sort) yaitu pengurutan data yang disimpan dalam memori
sekunder, biasanya data bervolume besar sehingga tidak mampu untuk dimuat semuanya dalam
memori.

3. a. Bubble Sort
Proses pengurutan sederhana yang bekerja dengan cara berulang kali membandingkan dua
elemen data pada suatu saat dan menukar elemen data yang urutannya salah.
b. Quick Sort
Metode terdapat dalam proses pengurutan data dengan menggunakan prinsip rekursif. Metode ini
menggunakan strategi “Pecah Belah” dengan mekanisme.
c. Selection Sort
Algoritma Selection Sort yang memilih elemen maksimum/minimum array, lalu menempatkan
elemen maksimum/minimum itu pada awal atau akhir array (tergantung pada urutannya
ascending/descending).
d. Merge Sort
Algoritma yang berdasarkan dari Strategi divide-and-conquer. Algoritma ini terdiri dari dua
bagian utama, yaitu bagian list menjadi sublist-sublist yang lebih kecil dan bagian sort
(pengurutan) dan merge (penggabungan) pada sublist-sublist tersebut.
e. Insertion Sort
Sebuah algoritma pengurutan yang membandingkan dua elemen data pertama, mengurutkannya,
kemudian mengecek elemen data berikutnya satu-persatu dan membandingkannya dengan
elemen data yang telah diurutkan.
f. Tree Sort
Metode sorting dengan cara membangun pohon biner dengan menampilkan 3 hasil output : Pre
Order, In order, Post Order.
g. Maximum Sort
Proses memilih data yang maksimum dari suatu kumpulan data larik, lalu menempatkan data
tersebut ke elemen paling akhir atau paling awal sesuai pengurutan yang diinginkan.
4. Program sederhana menggunakan sorting.
#include<iostream>
#include<stdio.h>
#include<conio.h>
using namespace std;
int sort_function (const void *a, const void *b);
char list[5][4] = {"cat", "car", "cab", "cap", "can"};
int main()
{
printf(" Nama : Muhammad Zuhri Kelas : 04TPLP011 NIM: 2016140614 ");
printf(" ======================== ");
int x;
qsort(( void *)list,5, sizeof(list[0]), sort_function);
for (x =0; x<5; x++)
printf("%s ",list[x]);
return 0;
}
int sort_function(const void *a, const void *b)
{
return (strcmp ((char *) a,(char *)b));
}

Anda mungkin juga menyukai

  • Daftar Hadir
    Daftar Hadir
    Dokumen9 halaman
    Daftar Hadir
    Fitria Putri Rospary
    Belum ada peringkat
  • IKP PEDOMAN
    IKP PEDOMAN
    Dokumen56 halaman
    IKP PEDOMAN
    Risma Astri
    100% (3)
  • Tugas Wira
    Tugas Wira
    Dokumen12 halaman
    Tugas Wira
    Fitria Putri Rospary
    Belum ada peringkat
  • Cover
    Cover
    Dokumen1 halaman
    Cover
    Fitria Putri Rospary
    Belum ada peringkat
  • Cover
    Cover
    Dokumen1 halaman
    Cover
    Fitria Putri Rospary
    Belum ada peringkat
  • Copy Paste
    Copy Paste
    Dokumen3 halaman
    Copy Paste
    Fitria Putri Rospary
    Belum ada peringkat
  • Daftar Isi CHF
    Daftar Isi CHF
    Dokumen3 halaman
    Daftar Isi CHF
    Fitria Putri Rospary
    Belum ada peringkat
  • PK Arthritis Refisi
    PK Arthritis Refisi
    Dokumen3 halaman
    PK Arthritis Refisi
    Fitria Putri Rospary
    Belum ada peringkat
  • Cover
    Cover
    Dokumen1 halaman
    Cover
    Fitria Putri Rospary
    Belum ada peringkat
  • Bedah Digestive
    Bedah Digestive
    Dokumen41 halaman
    Bedah Digestive
    Fitria Putri Rospary
    Belum ada peringkat
  • Laporan Kasus CHF
    Laporan Kasus CHF
    Dokumen19 halaman
    Laporan Kasus CHF
    Fitria Putri Rospary
    Belum ada peringkat
  • Portofolio ISK
    Portofolio ISK
    Dokumen15 halaman
    Portofolio ISK
    Fitria Putri Rospary
    Belum ada peringkat