Anda di halaman 1dari 13

MAKALAH PEMROGRAMAN KOMPUTER

ARRAY DAN STRING BAGIAN (II)

OLEH:

KELOMPOK II
AGUSTIANO LUMBANRAJA (5173331002)
JESICA SIANIPAR (5173331017)
WANNUR DIANA NINGSIH (5173331034)

PROGRAM STUDI PENDIDIKAN TEKNIK ELEKTRO


FAKULTAS TEKNIK
UNIVERSITAS NEGERI MEDAN
2019
KATA PENGANTAR
Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Esa, karena penulis
masih dapat menyelesaikan tugas Makala ini tepat pada waktunya. Makalah ini membahas
tentang “ARRAY DAN STRING”.

Adapun tugas ini dibuat untuk memenuhi tugas Makalah mata kuliah Pemrograman
Komputer. Penulis berharap makalah ini menjadi salah satu referensi bagi pembaca. Tidak
lupa pula penulis mengucapkan banyak terimakasih atas bantuan dari pihak yang ikut
berkontribusi dalam memberikan sumbangan baik ide, masukan, kritikan, maupun materi.

Harapan penulis semoga makalah ini dapat menambah pengetahuan dan pengalaman
para pembaca, untuk kedepannya dapat memperbaiki bentuk maupun menambah isi makalah
agar lebih baik lagi.

Karena keterbatasan pengetahuan maupun pengalaman kami, kami yakin masih


banyak kekurangan dalam makalah ini. Oleh karena itu, kami sangat mengharapkan saran dan
kritik dari pembaca demi kesempurnaan makalah ini. Akhir kata, penulis mengucapkan
terimasih.

Medan, Desember 2019

Penyusun
DAFTAR ISI
KATA PENGATAR............................................................................................................i

DAFTAR ISI.........................................................................................................................ii

BAB I PENDAHULUAN
1.1 LATAR BELAKANG MASALAH..............................................................................1
1.2 RUMUSAN MASALAH..............................................................................................2
1.3 TUJUAN........................................................................................................................2

BAB II PEMBAHASAN
2.1 PENCARIAN PADA ELEMEN ARRAY.....................................................................3
2.1 PENGURUTAN PADA ELEMEN ARRAY.................................................................3
2.3 ARRAY MULTIDIMENSI.................................................................………………...4

BAB III PENUTUP


3.1 KESIMPULAN............................................................................................................6
3.2 SARAN.........................................................................................................................6

DAFTAR PUSTAKA
BAB I
PENDALUHAN
1.1 Latar Belakang Masalah

Bahasa pemrograman C merupakan salah satu bahasa pemrograman komputer yang


bisa dikatakan mudah untuk dipelajari dan mudah untuk dipahami karena bahasanya
merupakan bahasa tingkat tinggi yang dimengerti oleh manusia.  Bahasa C dibuat pada tahun
1972 oleh Dennis Ritchie.
Bahasa C++ dibuat oleh Bjarne Stroustrup di AT dan T Bell Laboratorium pada tahun
1980 yang merupakan pengembangan dari bahasa C. Pada awalnya bahasa ini disebut
dengan C With Classes, sedangkan menggunakan nama C++ dimulai sejak 1983, yang
diusulkan oleh Rick Mascitti. Bahasa C++ mengembangkan kemampuan dari bahasa C yaitu
dengan :
1.      Memberikan dukungan untuk menciptakan dan memanfaatkan abstraksi data.
2.      Dapat digunakan untuk pemrogram berorientasi objek
3.      Dan yang terakhir telah menutupi beberapa kekurangan dalam bahasa C
Bahasa program C++ adalah penerus bahasa program C yang merupakan bahasa
pemrograman tingkat menengah. Pencipta bahasa program C adalah Brian W. Kerninghan
dan Dennis M. Ritchie pada tahun 1972. Sedangkan C++ diciptakan satu dekade setelah C
oleh Bjarne Stroustrup dari Labortorium Bell, AT&T pada tahun 1983. Pada awalnya C++
diberi nama A Better C.
Algoritma adalah urutan aksi-aksi yang dinyatakan dengan jelas dan tidak rancu untuk
memecahkan suatu masalah dalam rentang waktu tertentu. Setiap aksi harus dapat dikerjakan
dan mempunyai efek tertentu. Algoritma dapat dituliskan dengan banyak cara, mulai dari
menggunakan bahasa alami yang digunakan sehari-hari, simbol grafik bagan alir, sampai
menggunakan bahasa pemrograman seperti bahasa C atau C++.C & C++.
Berbicara tentang C++ biasanya tidak lepas dari C,  sebagai bahasa pendahulunya,
pencipta C adalah Brian W. Kerninghan dan Dennis M. Ritchie pada sekitar tahun 1972, dan
sekitar satu dekade setelahnya diciptakanlah C++, oleh Bjarne Stroustrup dari Labortorium
Bell, AT&T, pada tahun 1983. C++ cukup kompatibel dengan bahasa pendahulunya C. Pada
mulanya C++ disebut A Better C. Nama C++ diberikan oleh Rick Mascitti pada tahun 1983,
yang berasal dari operator increment pada bahasa C. Keistimewaan yang sangat berarti dari
C++ ini adalah karena bahasa ini mendukung pemrograman yang berorientasi objek
(OOP / Object Oriented Programming).
1.2 Rumusan Masalah
Dari latar belakang mengenai belajar, dapat kita ambil masalah-masalah yang mendasar
“Arry dan String”, antara lain:

1. Bagaimana Pencarian Pada Elemen Array?


2. Bagaimana Pengurutan Pada Elemen Array?
3. Apa yang dimaksud Array Multidimensi?

1.3 Tujuan
1. Mengetahui tentang Pencarian Pada Elemen Array
2. Mengetahui tentang Pengurutan Pada Elemen Array
3. Mengerti tentang Array Multidimensi
BAB II
PEMBAHASAN
2.1 Pencarian Pada Elemen Array
Apa itu searching? Searching adalah metode pencarian informasi dalam suatu aplikasi
menggunakan suatu kunci ( key ). Searching diperlukan untuk mencari informasi khusus dari
sekumpulan data yang disimpan dalam sebuah array. 
Sesuai dengan judulnya, dalam modul ini kita akan membahas proses pencarian /
searching data pada suatu array / barisan data. Jika diketahui ada sebuah array / barisan data
bernama A yang menampung 10 data yang bertipe integer sbb A={1,2,3,4,8,5,7,9,6,0} dan
kita diberi tugas untuk mencari beberapa data misal:

1. Jika data yang akan dicari dalam array A adalah 6, maka dengan cepat dapat kita
ketahui bahwa data 6 ada dalam array A pada index ke-8 (index pada array dimulai
dari 0).
2. Sedangkan jika data yang akan dicari dalam array A adalah 12, maka dapat
disimpulkan bahwa array A tidak memiliki data 12 tersebut.

Nah, kita sudah memahami proses pencarian data yang sederhana tersebut dalam
pikiran kita, sekarang permasalahannya adalah bagaimana mengimplementasikannya
kedalam program ?.

Pada umumnya dikenal dua metode searching antara lain : Sequensial search dan binary
search, Untuk lebih memahami kedua metode ini lebih baik kita mulai dari metode yang
paling sederhana terlebih dahulu yaitu sequensial search.

A. Sequensial search

Disebut juga sebagai metode pencarian urut adalah metode pencarian yang paling
mudah. Bayangkan saja jika anda dihadapkan pada sebuah rak buku, dan anda diberi tugas
untuk mencari sebuah buku dari rak tersebut. Sudah tentu anda akan mulai mencarinya satu –
persatu entah itu dari atas atau dari bawah sampai buku yang dimaksud ketemu.

B. Binary search

Proses pencarian binary search hanya dapat dilakukan pada kumpulan data yang


sudah diurutkan terlebih dahulu. Jika terdapat N buah data yang akan dolah, data yang dicari
akan dibandingkan dengan data ke-N jika data ke-N lebih besar dari data yang dicari maka
akan dilakukan pembagian data menjadi dua bagian. Kemudian ujung data pada setiap bagian
dibandingkan lagi dengan nilai yang akan dicari.

Berikut ini contoh program yang akan melakukan pencarian nilai dari sekumpulan data
yang bertipe int.
2.2 Pengurutan Pada Elemen Array

A. Metode Gelembung (Bubble Sort)


Metode gelembung (bubble sort) sering juga disebut dengan metode penukaran
(exchange sort) adalah metode yang mengurutkan data dengan cara membandingkan
masing-masing elemen, kemudian melakukan penukaran bila perlu. Metode ini mudah
dipahami dan diprogram, tetapi bila dibandingkan dengan metode lain yang kita
pelajari, metode ini merupakan metode yang paling tidak efisien.

Metode Bubble

Algoritma beroperasi sebagai berikut;

1. Elemen pertama dibandingkan dengan elemen kedua. Apabila elemen kedua lebih
besar dari elemen pertama, maka kedua elemen tersebut ditukar.
2. Elemen kedua dan ketiga dibandingkan, bila elemen ketiga < kedua elemen
ditukar, proses terus berlangsung dengan elemen ketiga dan keempat, dan
seterusnya. Sampai akhir deretan data tercapai.
3. Bila tak ada lagi yang ditukarkan, algoritma berhenti.Bila terjadi pertukaran selama
berurutan, proses akan diulang. Sehingga akhirnya semua elemen tersusun, tidak
ada pertukaran lagi, dan algoritma berhenti.

KELEBIHAN METODE BUBBLE SORT

a. Metode Bubble  Sort merupakan yang paling simple.


b. Metode Bubble Sort muda di pahami algoritmanya

KELEMAHAN METODE BUBBLE SORT

a. Meskipun simpel metode Bubble Sort  merupakan metode pengurutan yang paling


tidak efisien.
b. Pada saat mengurutkan data yang sangat besar akan mengalami kelambatan luar
biasa, atau dengan kata lain kinerja memburuk cukup signifikan ketika data yang
diolah jika  data cukup banyak.
c. Jumlah pengulangan akan tetap sama jumlahnya walaupun data sesungguhnya
sudah cukup terurut. Hal ini disebabkan setiap data dibandingkan dengan setiap
data yang lain untuk menentukan posisinya.

Contoh Program Bubble Sort


#include <stdio.h>
#define N 100
int bubble(int n);
int i,j,A[N];
int main()          
{
int jml;
printf("\t METODE BUBBLE SORT \n\n");
printf("Masukkan banyaknya data = ");
scanf("%d",&jml);
printf("\n");
//Data yang di input
for (i=0;i<jml;i++)
{
 printf("Data ke %d : ",i+1);
 scanf("%d",&A[i]);
}
printf("\n");
// mengurutkan data
      bubble(jml);
// menampilkan data
printf("Data yang sudah terurut : \n");
      for (i=0;i<jml;i++)
      {
      printf("%d\n",A[i]);
      }
}
// fungsi metode bubble
int bubble(int n)
{
int temp;
      for (i=1;i<=n-1;i++)
      {
            for (j=i;j<n;j++)
            {
             if (A[i-1]>A[j])
                {
                  temp = A[i-1];
                  A[i-1] = A[j];
                  A[j] = temp;
                 }
            }
      }
}

B. Maximum/Minimum Sort
Pengurutan maksimum didasarkan pada pemilihan elemen maksimum atau
minimum array sebagai basis pengurutan. Gagasannya adalah memilih elemen
maksimim/minimum tersebut kemudian menukarkan elemen tersebut dengan elemen
terujung larik (ujung kiri atau ujung kanan). Selanjutnya elemen terujung tersebut
‘diisolasi’ dan tidak disertakan pada proses selanjutnya. Proses yang sama diulang
untuk elemen larik yang tersisa, yaitu memilih elemen maksimum/minimum berikutnya
dan mempertukarkannya dengan terujung larik sisa. Pengurutan ini dinamakan juga
pengurutan seleksi (selection sort).

Selection sort merupakan metode pengurutan dengan mencari nilai data


terkecil dan nilai data terbesar dimulai dari data diposisi 0 hingga diposisi  N-1.

Jika terdapat N data dan data terkoleksi dari urutan 0 sampai dengan N-1 maka
algoritma pengurutan dengan metode selection sort adalah sebagai berikut;

·         Cari data terkecil dalam interval j = 0 sampai dengan j = N-1

Jika pada posisi pos ditemukan data yang terkecil, tukarkan data


diposisi pos dengan data di posisi i jika k.

Ulangi langkah 1 dan 2 dengan j = j + i sampai dengan j = N-1, dan seterusnya


sampai j = N - 1.

Kelebihan dari Metode Selection Sort;

a. Algoritma ini sangat rapat dan mudah untuk diimplementasikan


b. Operasi pertukarannya hanya dilakukan sekali saja.
c. Waktu pengurutan dapat lebih ditekan.
d. Mudah menggabungkannya kembali.
e. Kompleksitas selection sort relatif lebih kecil.

Kekurangan dari Metode Selection Sort;

a. Sulit untuk membagi masalah.

Contoh Program Selection Sort


2.3 Arry Multidimensi

A. Array 2 Dimensi
Array dua dimensi adalah array yang terdiri dari n buah baris dan m buah kolom,
atau array dua dimensi juga biasa disebut sebagai array yang mempunyai dua subskrip,
yaitu baris dan kolom. Bentuknya dapat sobat bayangkan seperti matriks atau tabel.
dimana indeks pertama menunjukan baris dan indeks kedua menunjukan kolom.

Berikut gambar yang dapat mengilustrasikan sebuah array dua dimensi.

Pada ilustrasi array dua dimensi diatas, dimisalkan terdapat sebuah array dua
dimensi dengan nama "A", array A memiliki jumlah elemen baris sebanyak 3
dan jumlah elemen kolom sebanyak 4.

Contoh program array 2 dimensi


B. Array Multidimensi
Array Multidimensi merupakan array yang serupa dengan array satu dimensi
maupun array dua dimensi, namun array multidimensi dapat memiliki memori yang
lebih besar. Biasanya array multidimensi digunakan untuk menyebut array dengan
dimensi lebih dari dua atau array yang mempunyai lebih dari dua subskrip, seperti
untuk menyebut array tiga dimensi, empat dimensi, lima dimensi dan seterusnya.
   
Berikut gambar yang dapat mengilustrasikan sebuah array multidimensi, dimana
pada gambar dibawah ini kami menggunakan array tiga dimensi sebagai contoh dari
array multidimensi.

Contoh Program Arry Multidimensi


#include <iostream>
using namespace std;

main()
{
int nilai[5][3]={{7,8,9},{3,4,7},{7,4,9},{5,9,4},{6,8,5}};
int m,n=0;
cout<<"Daftar Nilai\n";
cout<<"----------\n";
cout<<"|No|M|F|S|\n";
cout<<"----------\n";
for(n=0;n<5;n++)
{
cout<<"|"<<(n+1)<<" |";
for(m=0;m<3;m++)
cout<<nilai[n][m]<<"|";
cout<<"\n";
}
cout<<"----------";
return 0;
}
BAB III
PENUTUP
3.1 Kesimpulan
1. Struktur data merupakan salah satu bahan dasar pembuatan program. 
2. Pemakaian struktur data yang tepat di dalam proses pemrograman, akan
menghasilkan algoritma yang jelas dan tepat sehingga menjadikan program secara
keseluruhan lebih sederhana. 
3. Array merupakan bagian dari struktur data yaitu termasuk kedalam struktur data
sederhana yang dapat di definisikan sebagai pemesanan alokasi memory sementara
pada komputer. 
4. Apabila kita membuat program dengan data yang sudah kita ketahui batasnya maka
kita menggunakan Array (type data statis), namun apabila datanya belum kita
ketahui batasnya maka gunakan POINTER (type data dinamis). 

3.2 Saran
Dengan selesainya makalah ini, kami mengucapkan banyak terima kasih kepada semua
pihak yang ikutan di wawasannya dalam penulisan ini. Tak lupa kami menyadari bahwa
dalam penulisan makalah ini masih jauh dari kesempurnaan, untuk itu saran dan kritik yang
membangun selalu kami tunggudan kami perhatikan
DAFTAR PUSTAKA
http://ekayunitasari1996.blogspot.com/2014/03/searching-pencarian-pada-elemen-array.html

http://ihsanpolsky.blogspot.com/2014/01/algorotma-pengurutan-array.html

http://www.materidosen.com/2017/06/array-dua-dimensi-c-lengkap-contoh.html

http://www.materidosen.com/2017/06/array-multidimensi-dimensi-c-lengkap.html

Anda mungkin juga menyukai