LAPORAN PRAKTIKUM ALGORITMA & STRUKTUR DATA
Oleh : Dedy Muswar (26.211.0344)
PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS TEKNOLOGI INDUSTRI UNIVERSITAS ISLAM SULTAN AGUNG SEMARANG 2013
KATA PENGANTAR
Puji Syukur saya panjatkan kehadirat Allah swt yang telah memperkenankan saya menyelesaikan laporan ini.
Laporan praktikum ini bertujuan untuk mengevaluasi seberapa besar kita memahami materi-materi Algoritma & Struktur data mulai praktikum 1 hingga praktikum 5.
Atas terselesaikannya laporan praktikum ini, penulis tidak lupa mengucapkan terima kasih kepada semua pihak yang telah memberikan bantuan yang berharga, khususnya kepada :
1. Kedua orang tuaku 2. Wenty Yuniarti, S.Si., M.Kom 3. Asisten Praktikum Algoritma & Struktur data 4. Teman-temanku
Penulis menyadari bahwa laporan praktikum ini msih jauh dari kesempurnaan. Namun penulis telah berusaha untuk memberikan yang terbaik.
Sehubungan dengan hal tersebut, maka dalam kesempatan ini penulis mengharapkan kritik dan saran yang bersifat membangun demi kesempurnaan laporan praktikum ini. Semoga laporan praktikum ini dapat menambah wawasan bagi kita semua. Semarang, 8 juni 2013
Penulis 2
KATA PENGANTAR
Puji Syukur saya panjatkan kehadirat Allah swt yang telah memperkenankan saya menyelesaikan laporan ini.
Laporan praktikum ini bertujuan untuk mengevaluasi seberapa besar kita memahami materi-materi Algoritma & Struktur data mulai praktikum 1 hingga praktikum 5.
Atas terselesaikannya laporan praktikum ini, penulis tidak lupa mengucapkan terima kasih kepada semua pihak yang telah memberikan bantuan yang berharga, khususnya kepada :
1. Kedua orang tuaku 2. Wenty Yuniarti, S.Si., M.Kom 3. Asisten Praktikum Algoritma & Struktur data 4. Teman-temanku
Penulis menyadari bahwa laporan praktikum ini msih jauh dari kesempurnaan. Namun penulis telah berusaha untuk memberikan yang terbaik.
Sehubungan dengan hal tersebut, maka dalam kesempatan ini penulis mengharapkan kritik dan saran yang bersifat membangun demi kesempurnaan laporan praktikum ini. Semoga laporan praktikum ini dapat menambah wawasan bagi kita semua. Semarang, 8 juni 2013
Penulis 2
DAFTAR ISI
Halaman Cover
i
Halaman Pengesahan
ii
Kata Pengantar
iii
Daftar isi
iv
Daftar Gambar
vi
BAB I PENDAHULUAN 1.1 Latar Belakang
1
1.2 Tujuan
2
1.3 Sistematika Penulisan
3
BAB II DASAR TEORI 2.1 Pengertian Algoritma dan stuktur data
4
2.1.1 Konsep Pemrograman dalam Sistem Komputer
4
2.1.2 Konsep Umum Algoritma dan Struktur data
4
2.1.3 Road Map Algoritma dan Struktur data
5
2.2 Array
6
2.2.1 Array Berdimensi Satu
6
2.2.2 Array Berdimensi Dua
7
2.2.3 Array Sebagai Argumen Fungsi
8
2.3 Struktur
10
2.4 Sorting
10
BAB III PEMBAHASAN PRAKTIKUM 3.1 Analisa Praktikum
14
3.1.1 Praktikum I
14
3.1.2 Praktikum II
16 3
3.1.3 Praktikum III
20
3.1.4 Praktikum IV
21
3.1.5 Praktikum V
24
3.2 Analisa Praktikum
30
3.2.1 Praktikum I
30
3.2.2 Praktikum II
32
3.2.3 Praktikum III
36
3.2.4 Praktikum IV
38
3.2.5 Praktikum V
41
BAB IV KESIMPULAN 4.1 Praktikum I
52
4.2 Praktikum II
52
4.3 Praktikum III
52
4.4 Praktikum IV
53
4.5 Praktikum V
53
4
DAFTAR GAMBAR
Gambar 2.1 Road Map Hierarki Kompetensi Algoritma dan Struktur Data
5
Gambar 2.2 Road Map Relasi Algoritma dan Struktur Data
6
Gambar 3.1 Output Program Pembahasan Praktikum I
14
Gambar 3.2 Output Program Pembahasan Praktikum II
18
Gambar 3.3 Output Program Pembahasan Praktikum III
20
Gambar 3.4 Output Program Pembahasan Praktikum IV
22
Gambar 3.5 Output Program dengan metode Shorting
28
Gambar 3.6 Output Program Pembahasan Tugas Praktikum I
30
Gambar 3.7 Flowchart Pembahasan Tugas Praktikum I
31
Gambar 3.8 Output Program Pembahasan Tugas Praktikum II
34
Gambar 3.9 Flowchart Pembahasan Tugas Praktikum II
35
Gambar 3.10 Output Program Pembahasan Tugas Praktikum III
36
Gambar 3.11 Flowchart Pembahasan Tugas Praktikum III
37
Gambar 3.12 Output Program Pembahasan Tugas Praktikum IV
39
Gambar 3.13 Flowchart Pembahasan Tugas Praktikum IV
40
Gambar 3.14 Output Program Pembahasan Tugas Praktikum V
45
Gambar 3.15 Flowchart Pembahasan Tugas Praktikum V
46
Gambar 3.16 Flowchart Pembahasan Tugas Praktikum V
47
Gambar 3.17 Flowchart Pembahasan Tugas Praktikum V
48
Gambar 3.18 Metode Algoritma Selection Sorting secara Ascending
49
Gambar 3.19 Metode Algoritma Selection Sorting secara Descending
50
Gambar 3.20 Metode Algoritma Bubble Sorting secara Ascending
50
Gambar 3.21 Metode Algoritma Bubble Sorting secara Descending
51
5
BAB I PENDAHULUAN 1.1 LATAR BELAKANG
Algoritma menawarkan suatu metode dalam menyelesaikan sebuah permasalahan. Algoritma diartikan sebagai urutan langkah dalam menyelesaikan masalah secara sistematis dan logis. Pendekatan secara sistematis dan logis tersebut, menjadikan proses penyelesaian masalah terjaga kebenarannya karena algoritma hendaklah benar agar dapat menghasilkan keluaran/solusi yang benar pula. Data adalah fakta dunia nyata. Dalam istilah ilmu komputer, sebuah struktur data adalah cara penyimpanan, penyusunan dan pengaturan data di dalam media penyimpanan komputer sehingga data tersebut dapat digunakan secara efisien. Dalam teknik pemrograman, struktur data berarti tata letak data yang berisi kolom-kolom data, baik itu kolom yang tampak oleh pengguna
(user) atau pun kolom yang hanya digunakan untuk keperluan pemrograman yang tidak tampak oleh pengguna. Penggunaan struktur data yang tepat di dalam proses pemrograman akan menghasilkan algoritma yang lebih jelas dan tepat, dan secara keseluruhan menjadikan program secara keseluruhan lebih efisien dan sederhana.Pembahasan materi Algoritma dan struktur data memerlukan dasar pengetahuan tentang pemrograman. Algoritma dan struktur data diharapkan dapat
menumbuhkan
kompetensi
berupa
pengetahuan
dan
memecahkan persoalan dan memetakannya dalam bentuk program.
6
skill
dalam
Latar belakang pentingnya Algoritma dan Struktur Data adalah : 1. Data semakin kompleks. 2. Implementasi dan perawatan software sangat sulit. Kerangka konsep yang jernih memungkinkan pembuatan koding yang lebih efisien dan benar. 3. Pengembangan software berorientasi pada software yang baik, yaitu software
yang
memenuhi
criteria
Clean
Design,
Easy
Maintenance, Reliable (no core dumps), Easy to use dan Fast algoritm. 1.2 TUJUAN
Tujuan Praktikum Algoritma dan struktur data adalah sebagai berikut. 1. Mahasiswa
dapat
membuat
sebuah
program
sederhana
dengan
program
sederhana
dengan
menggunakan C++ dan Flowchart. 2. Mahasiswa
dapat
membuat
sebuah
menggunakan Array berdimensi satu, dua dimensi dan tiga dimensi 3. Mahasiswa dapat membuat sebuah program sederhana dengan bentuk
Statement SWITCH maupun IF ELSE. 4.
Mahasiswa dapat membuat program sederhana dengan SORTING
Ascending maupun Descending. 5. Mahasiswa dapat membuat program sederhana dengan memilih cara
Selection Sorting, Bubble Sorting, dan Insertion Sorting.
7
1.3 SISTEMATIKA PENULISAN
Laporan Praktikum Algoritma & Struktur data ini disusun dengan cara sistematis agar mempermudah penulis maupun pembaca dalam mempergunakan laporan ini, adapun sistematika penulisan tugas akhir ini adalah : BAB I
PENDAHULUAN
Pada bab ini akan dijelaskan mengenai latar belakang, tujuan praktikum serta sistematika praktikum algoritma & struktur data . BAB II
DASAR TEORI
Pada bab ini berisi landasan teori yang digunakan selama proses praktikum berlangsung dan yang didapatkan saat proses belajar dikelas. BAB III
PEMBAHASAN PRAKTIKUM
Pada bab ini berisi script program dari praktikum 1 sampai dengan praktikum 5 yang dilengkapi dengan output program dan analisa program. Serta pembahasan tugas-tugas praktikum. BAB IV
KESIMPULAN
Pada bab ini berisi kesimpulan dari praktikum 1 sampai dengan praktikum 5 yang diperoleh.
8
BAB II DASAR TEORI 2.1 Pengertian Algoritma & Struktur data 2.1.1 Konsep Pemrograman dalam Sistem Komputer
Sistem adalah suatu kesatuan elemen yang saling berhubungan sehingga membentuk suatu kelompok dalam melaksanakan suatu tujuan pokok yang ditargetkan (Onno W. Purba : 2000 ). Menurut Electronic
Data Processing System ( EDPS), sebuah sistem komputer memiliki bagian-bagian fungsional yang disebut perangkat keras (hardware), perangkat
lunak
(software)
dan
orang
yang
berinteraksi/user
(brainware). Perangkat lunak (software) adalah program yang berisi kumpulan instruksi untuk melakukan proses pengolahan data. Dari pengertian tersebut, dapat diketahui bahwa sesungguhnya perangkat lunak terdiri dari bagian dinamis yaitu instruksi serta bagian statis yaitu data. Unjuk kerja instruksi berupa perlakuan/behaviour yang dikenakan kepada data. Setelah dikenai instruksi, data akan berubah menjadi data yang bernilai dan tertampil sebagai informasi. 2.1.2 Konsep Umum Algoritma dan Struktur Data
Algoritma menawarkan suatu metode dalam menyelesaikan sebuah permasalahan.
Algoritma
diartikan
sebagai
urutan
langkah
dalam
menyelesaikan masalah secara sistematis dan logis. Pendekatan secara sistematis dan logis tersebut, menjadikan proses penyelesaian masalah terjaga kebenarannya karena algoritma hendaklah benar agar dapat menghasilkan keluaran/solusi yang benar pula.
9
Data adalah fakta dunia nyata. Dalam istilah ilmu komputer, sebuah struktur data adalah cara penyimpanan, penyusunan dan pengaturan data di dalam media penyimpanan komputer sehingga data tersebut dapat digunakan secara efisien. Dalam teknik pemrograman, struktur data berarti tata letak data yang berisi kolom-kolom data, baik itu kolom yang tampak oleh pengguna (user) atau
pun
kolom
yang
hanya
digunakan
untuk
keperluan
pemrograman yang tidak tampak oleh pengguna. Pemakaian struktur data yang tepat di dalam proses pemrograman akan menghasilkan algoritma yang lebih jelas dan tepat, dan secara keseluruhan menjadikan program secara keseluruhan lebih efisien dan sederhana. 2.1.3 Road Map Algoritma dan Struktur Data
Pembahasan materi Algoritma dan struktur data memerlukan dasar pengetahuan tentang pemrograman. Algoritma dan struktur data diharapkan dapat menumbuhkan kompetensi berupa pengetahuan dan skill dalam memecahkan persoalan dan memetakannya dalam bentuk program. Adapun,
roadmap pencapaian Algoritma dan Struktur Data adalah sebagai berikut:
Gambar 2.1 Road Map Hierarki Kompetensi Algoritma dan Struktur Data
10
Gambar 2.2 Road Map Relasi Algoritma dan Struktur Data
2.2 Array
Array adalah kumpulan data bertipe sama dan menggunakan nama yang sama pula. Antara satu variabel dengan variabel lain di dalam array dibedakan berdasarkan “subscript”. Subscript berupa bilangan di dalam kurung siku
[...]. Melalui subscript inilah masing-masing elemen dapat diakses.
2.2.1 Array Berdimensi Satu
Array berdimensi satu adalah sekumpulan data/elemen yang disimpan secara berurutan dalam suatu tempat/subscript yang terdiri atas 1 (satu) unsur. Sejumlah data suhu disimpan dalam nama suhu terdiri dari Suhu 1
= 25°, Suhu 2 = 23,5°, Suhu 3 = 21°, Suhu 4 = 26° dan Suhu 5 = 35° Pendefinisian array meliputi nama array, tipe elemen array
dan jumlah elemen array. Contoh :
Float nilai_mhs [12]; Keterangan : 1. tipe array : float (bilangan pecah) 11
2. nama array : nilai_mhs 3. jumlah elemen array : 12 data, yaitu nilai_mhs[1],
nilai_mhs[2],...., nilai_mhs[12].
Nilai
elemen
array
dapat
dimasukkan
melalui
keyboard
atau
dimasukkan saat didefinisikan pada program.
2.2.2 Array Berdimensi Dua
Array berdimensi dua adalah sekumpulan data/elemen yang disimpan secara berurutan dalam suatu tempat/subscript yang terdiri atas 2 (dua) unsur, yaitu baris dan kolom. Array berdimensi dua berarti meiliki dua dimensi data. Contoh sederhana adalah data yang tertulis dalam gambar tabel berikut ini :
Gambar 2.1 Array Berdimensi 2
Jika dibuat programnya adalah sebagai berikut :
int data_mobil [3] [4]; Keterangan : 1. baris 1 → baris 3 : menunjukkan merek mobil. 2. kolom 1 → kolom 4 : menunjukkan tahun penjualan 3. tipe array : integer (bilangan bulat). 4. nama array : data_mobil. 5. jumlah elemen array : [3,4] 6. [2,3] dibaca : penjualan mobil merek Daihatsu pada tahun 1994 adalah 70 unit. 12
2.2.3 Array Sebagai Argumen Fungsi
Array juga dapat berkedudukan sebagi parameter di dalam fungsi. Contoh pendefinisian :
const int MAKS = 5 Int data[MAKS]; Fungsi adalah bagian program yang berisi sejumlah pernyataan tertentu yang dapat dipanggil berulang kali. Tujuan pembuatan fungsi adalah : 1. Memudahkan dalam mengembangkan program 2. Menghemat ukuran program Beberapa hal yang harus diperhatikan dalam pembuatan fungsi adalah : 1. Fungsi menerima masukan yang disebut argumen atau parameter. 2. Masukan diproses oleh fungsi dan memberikan hasil akhir yang disebut nilai balik (return value). 3. Agar fungsi dapat dipanggil, fungsi harus didekl arasikan. Prototipe Deklarasi fungsi disebut prototype fungsi yang berupa : 1. nama fungsi 2. tipe nilai balik fungsi 3. jumlah dan tipe argument 4. serta diakhiri dengan titik koma (;). Contoh :
Long kuadrat(long l) dimana menyatakan kuadrat() adalah nama fungsi, long adalah tipe argument, long (kedua) menunjukkan nilai balik yang bertipe long. Void garis() menyatakan fungsi tanpa nilai balik Pernyataan return digunakan untuk memberikan nilai balik fungsi. Dalam fungsi diatas berarti nilai 13
kuadrat dari argument. Fungsi dengan pernyataan void tidak memberikan nilai balik. Biasanya tidak diakhiri pernyataan return. Jenis variabel dalam kaitannya dengan lingkup fungsi terdapat tiga macam yaitu : variabel otomatis, variabel eksternal dan variabel statis. Variabel Lokal (otomatis) Variabel yang didefinisikan di dalam fungsi disebut variabel local. Variabel ini hanya dikenal dalam fungsi tersebut. Variabel Global (eksternal) Variabel yang didefinisikan di bagian luar manapun dari fungsi dan dikenal oleh semua fungsi. Disebut juga variabel global, karena dikenal de semua fungsi. Variabel Statis Baik variabel local maupun global dapat berfungsi sebagai variabel statis dengan cara menambahkan pada kedua variabel tersebtu pernyatan
static. Kemudian pada kedua variabel tersebtu berlaku hal sebagai berikut : 1. Jika variabel local berdiri sebagai variabel statis maka variabel tetap hanya dapat diakses pada fungsi yang mendefinisikannya, variabel tidak hilang saat eksekusi fungsi berakhir. Nilainya akan tetap dipertahankan, sehingga akan dikenali pada pemanggilan fungsi untuk tahap berikutnya. 2. Inisialisasi oleh pemrogram akan dilakukan sekali saja selama program dijalankan. Jika tidak ada inisialisasi secara eksplisit, variabel diisi dengan nol. 3. Jika variabel eksternal dijadikan sebagai variabel statis, variabel ini dapat diakses oleh semua file yang didefinisikan pada file yang sama dengan variabel eksternal tersebut .
14
Rekursi Suatu fungsi dapat memanggil fungsi yang merupakan dirinya sendiri. Misal untuk menghitung Xn. 2.3 Struktur
Struktur bermanfaat untuk mengelompokkan sejumlah data dengan tipe yang berlainan. Sebuah contoh deklarasi struktur adalah sebagai berikut :
Struct data_mahasiswa { char nim[6]; char nama[100]; int umur; }; Pada contoh tersebut, tampak dideklarasikan sebuah struktur bernama data_mahasiswa yang terdiri dari tiga buah ang gota berupa :
Nim Nama Umur Apabila struktur tersebut telah dideklarasikan, struktur dapat digunakan untuk mendefinisikan suatu variabel, misalnya :
data_mahasiswa mhs1; merupakan pendefinisian sebuah variabel struktur mhs1 yang b ertipe struktur data_mahasiswa. 2.4 Sorting
Sorting atau pengurutan data adalah salah satu mekanisme pengelolaan data yang sering dipergunakan untuk beragam keperluan. Dengan sorting, seseorang bisa mendapatkan suatu keadaan data yang lebih informatif dan berarti. Terdapat beberapa macam model sorting diantarnya Exchange
15
Sorting, Bubble Sorting dan Insertion Sorting. Berikut akan ditampilkan programnya satu demi satu :
//Sorting Data dengan Metode Bubble Sort #include
#include #include void main() { int numList[8]={5,34,32,25,75,42,22,2}; int swap; //Prose Menampilkan Data Belum terurut cout<<"Data sebelum di urutkan"<numList[ii+1]) { swap = numList[ii]; numList[ii]=numList[ii+1]; numList[ii+1]=swap; } } } //Proses menampilkan data terurut cout<<"Data setelah diurutkan"<
//SELECTION SORT void main() { ... cout<<"\nInputkan banyak data yang akan diurutkan : "; cin>>n; Urut = 1; for(i = 0; i < n; i++) { cout<<"Masukan data ke "<<(i + 1)<<" : "; cin>>Arr[i]; } for(i = 0; i < n - 1; i++) { iMin = i; for(j = Urut; j < n; j++) { if(Arr[j] < Arr[iMin]) { iMin = j; if(Arr[i] != Arr[iMin]) { Tmp = Arr[i]; if(Arr[i] > Arr[iMin]) { Arr[i] = Arr[iMin]; Arr[iMin] = Tmp; } } } } Urut = Urut + 1; } cout<<"\nSetelah Pengurutan\n"; for(i = 0; i < n; i++) { cout<<"Elemen ke "<<(i + 1)<<" adalah "<
cout<<"\nInputkan banyak data yang akan diurutkan : "; cin>>n; for(i = 0; i < n; i++) { cout<<"Masukan data ke "<<(i + 1)<<" : "; cin>>Arr[i]; } for(i = 1; i < n; i++) { Tmp = Arr[i]; j = i - 1; while(Arr[j] >= Tmp && j > 0) { Arr[j + 1] = Arr[j]; j = j - 1; } if(Tmp >= Arr[j]) { Arr[j + 1] = Tmp; } else { Arr[j + 1] = Arr[j]; Arr[j] = Tmp; } } cout<<"\nSetelah Pengurutan\n"; for(i = 0; i < n; i++) { cout<<"Elemen ke "<<(i + 1)<<" adalah "<
18
BAB III PEMBAHASAN PRAKTIKUM 3.1 Analisa Praktikum 3.1.1 Praktikum I
Pada Praktikum I membahas tentang Array sebagai argument fungsi dengan script sebagai berikut :
#include #include void main() { const int JUM_DATA = 5; float suhu [JUM_DATA]; float total; clrscr(); cout<<"Masukkan data suhu" <>suhu[i]; } total=0; for (int i=0;i
cout<<(i+1)<<" : "; cin>>suhu[i]; } Setelah proses penginputan selesai maka program akan mengeksekusi data tersebut sesuai dengan rumus berikut, dimana nilai total awal mulanya yaitu 0, kemudian dari ke 5 data suhu akan dijumlahkan kemudian dimasukkan kedalam variable total.
total=0; for (int i=0;i
cout<<"Suhu rata-rata = <
3.1.2 Praktikum II
Pada praktikum II dengan mengetikkan source berikut pada editor program.
#include #include #include main() { clrscr; float nilai_jual [3][4]= { {70,50,80,30}, {60,40,65,45}, {80,60,75,50} 21
}; //Deklarasi untuk baris float jml_nilai0, jml_nilai1, jml_nilai2; float rerata0, rerata1, rerata2; jml_nilai0=0; jml_nilai1=0; jml_nilai2=0; //Deklarasi untuk kolom float jml_nilaicol0, jml_nilaicol1, jml_nilaicol2, jml_nilaicol3; float reratacol0, reratacol1, reratacol2, reratacol3; jml_nilaicol0=0; jml_nilaicol1=0; jml_nilaicol2=0; //Per Baris for (int i=0;i<=2;i++) { if (i==0) { for (int j=0;j<=3;j++) jml_nilai0=jml_nilai0+nilai_jual[i][j]; } else if (i==1) { for (int j=0;j<=3;j++) jml_nilai1=jml_nilai1+nilai_jual[i][j]; 22
} else { for (int j=0;j<=3;j++) jml_nilai2=jml_nilai2+nilai_jual[i][j]; } } rerata0=jml_nilai0/4; rerata1=jml_nilai1/4; rerata2=jml_nilai2/4;
cout<<"Rarata baris ke 1 = "<
for (int i=0;i<=2;i++) jml_nilaicol1=jml_nilaicol1+nilai_jual[i][j]; } else if (j==2) { for (int i=0;i<=2;i++) jml_nilaicol2=jml_nilaicol2+nilai_jual[i][j]; } else { for (int i=0;i<=2;i++) jml_nilaicol3=jml_nilaicol3+nilai_jual[i][j]; } } reratacol0=jml_nilaicol0/3; reratacol1=jml_nilaicol1/3; reratacol2=jml_nilaicol2/3; reratacol3=jml_nilaicol3/3; cout<<" rerata="" kolom="" 1="<
Dari program diatas ketika dieksekusi maka akan menghasilkan output keluaran seperti gambar dibawah ini.
Gambar 3.3 Output Pr ogram Pembahasan Praktik um I I
Pada program tersebut diketahui bahwa banyak data nilai yang akan di proses yaitu terdiri dari 3 baris dan 4 kolom.
clrscr; float nilai_jual [3][4]= { {70,50,80,30}, {60,40,65,45}, {80,60,75,50} }; Kemudian untuk pendeklarasian program untuk baris ditunjukkan pada statement berikut.
float jml_nilai0, jml_nilai1, jml_nilai2; float rerata0, rerata1, rerata2; jml_nilai0=0; jml_nilai1=0; jml_nilai2=0; 25
Untuk pendeklarasian program untuk kolom ditunjukkan pada statement berikut.
float jml_nilaicol0, jml_nilaicol1, jml_nilaicol2, jml_nilaicol3; float reratacol0, reratacol1, reratacol2, reratacol3; jml_nilaicol0=0; jml_nilaicol1=0; jml_nilaicol2=0; kemudian setelah program dideklarasikan, selanjutnya program tersebut
diproses
dengan
menggunakan
perulangan
for dan
percabangan if else untuk data perbarisnya. Dalam prosesnya yaitu jumlah data pada baris 1,2,3 akan di bagi 4 dengan banyaknya kolom, kemudian menghasilkan keluaran baris 1,baris 2,baris 3 dari
rerata 0, rerata 1, rerata 2. for (int i=0;i<=2;i++) { if (i==0) {
for (int j=0;j<=3;j++) jml_nilai0=jml_nilai0+nilai_jual[i][j];}
else if (i==1) {
for (int j=0;j<=3;j++) jml_nilai1=jml_nilai1+nilai_jual[i][j];}
else {
for (int j=0;j<=3;j++) jml_nilai2=jml_nilai2+nilai_jual[i][j];}
} rerata0=jml_nilai0/4; 26
rerata1=jml_nilai1/4; rerata2=jml_nilai2/4; cout<<" ketemu."<
Sehingga ketika program tersebut dieksekusi maka akan menghasilkan keluaran output seperti gambar berikut ini :
Gambar 4.3 Output Pr ogr am Pembahasan P raktikum I I I
Pada program diatas diketahui bahwa tipe data yang digunakan yaitu
integer, dari digunakan variable string yaitu data [8], selain itu terdapat juga variable cari dengan nilai tetap yaitu 6, dan juga variable i dan flag dengan nilai tetap sama dengan 0.
int data[8] = {5, 2, 1, 6, 7,9,8, 3}; int cari= 6; int i=0; int flag=0; Selanjutnya, digunakan juga perulangan while dimana kondisi variable cari akan mencari angka yang sama dari 6 pada string data[8]
= {5, 2, 1, 6, 7,9,8, 3}; dimana jika kondisi flag sama dengan 1 maka akan menampilkan keluaran ‘ketemu’ dan jika tidak program akan menampilkan output ‘tidak ketemu’.
28
while(i<8){ if(data[i]==cari) { flag=1; break; } i++;} if(flag==1) cout<<"ketemu."<
Pada pembahasan praktikum IV ini membahas tentang algoritma
Bubble sort, dimana data yang akan diurutkan secara acak untuk kemudian diproses dan di eksekusi untuk menghasilkan keluaran dalam bentuk Ascending. Untuk lebih jelasnya pada source code berikut ini.
//Program Bubble.cpp //Untuk penggunaan cout #include //untuk penggunaan clrscr #include //untuk penggunaan setw atau pengaturan format #include void main() {clrscr(); //Deklarasi,nama
array
(input)
dan
penampung int Numlist [8]={5,34,32,25,75,42,22,2}; int swap;//untuk menampilkan input cout<<"Data sebelum diurutkan : for (int ctr=0; ctr<8; ctr++) 29
"<
variabel
{cout<
swap=Numlist[ii]; Numlist[ii]=Numlist[ii+1]; Numlist[ii+1]=swap; }
cout<<"Data setelah diurutkan: \n"; //Menampilkan output for(int iii=0; iii<8; iii++) cout<
Gambar 3.5 Output Program Pembahasan Pr aktikum I V
30
Dari gambar diatas diketahui bahwa deklarasi nama array sebagai input (Numlist) dan variable penampung (Swap) dengan tipe data yaitu integer akan menampilkan input data sebelum diurutkan dengan menggunakan perulangan for, dan setw dengan nilai tetap yaitu 3 untuk mengatur lebar layar tampilan.
//Deklarasi,nama array (input) dan variabel penampung int Numlist [8]={5,34,32,25,75,42,22,2}; int swap; //untuk menampilkan input cout<<"Data sebelum diurutkan :
"<
for (int ctr=0; ctr<8; ctr++) {cout<
//Proses membandingkan data index ke index dengan variabel penampung swap for (int i=0; i<7; i++) for (int ii=0; ii<7; ii++) if(Numlist[ii] < Numlist[ii +1]) {swap=Numlist[ii]; Numlist[ii]=Numlist[ii+1]; Numlist[ii+1]=swap; 31
}
cout<<"Data setelah diurutkan: \n"; Kemudian setelah data berhasil diurutkan selanjutnya data tersebut akan ditampilkan dalam bentuk output, dimana digunakan variable iii untuk memanggil data yang telah diurutkan tadi untuk segera ditampilkan.
for(int iii=0; iii<8; iii++) cout<
3.1.5 Praktikum V
Pada pembahasan Praktikum V membahas tentang macam-macam metode
sorting diantaranya Selection, Buble dan insertion baik dalam bentuk Ascending maupun Descending. Untuk output program pengguna dapat memilih pilihan mana yang akan digunakan dari program tersebut diantaranya:
1. Selection Sorting (Ascending) 2. Selection Sorting (Descending) 3. Bubble Sorting (Ascending) 4. Bubble Sorting (Descending) 5. Insertion Sorting (Ascending) 6. Insertion Sorting (Descending) Bentuk source code-nya adalah sebagai berikut.
#include #include #include void main () {int i,j,iMin; int n, Urut; int Tmp,code; 32
int Arr[100]; do{ cout<<"=====================================\n"; cout<<"| Pilihan Program Sorting |\n"; cout<<"=====================================\n"; cout<<"| 1. Selection Sorting (Ascending)|\n"; cout<<"| 2. Selection Sorting (Descending)|\n"; cout<<"| 3. Bubble Sorting (Ascending) |\n"; cout<<"| 4. Bubble Sorting (Descending) |\n"; cout<<"| 5. Insertion Sorting (Ascending) |\n"; cout<<"| 6. Insertion Sorting (Descending) |\n"; cout<<"| 7. Keluar... |\n"; cout<<"=====================================\n\n "; cout<<"Masukkan Pilihan Anda : "; cin>>code; switch (code){ case 1 : cout<<"\nInputkan banyak data yang akan diurutkan: ";cin>>n; Urut: 1; for (i = 0; i < n; i++) {cout<<"Masukkan data ke "<< (i + 1)<<" : "; cin>>Arr[i];} for (i = 0; i < n- 1; i++) { iMin = i; for (j = Urut; j < n; j++){ if (Arr [j] < Arr [iMin]) { iMin = j; 33
if (Arr [i] != Arr [iMin]){ Tmp = Arr[i]; if (Arr[i] > Arr [iMin]){ Arr[i] = Arr [iMin]; Arr[iMin] = Tmp;}}}} Urut = Urut + 1;} cout<<"\nsetelah Pengurutan\n"; for(i = 0; i < n; i++) { cout<<"Elemen
ke
"<<(i
+
1)<<"
adalah
"<>n; Urut = 1; for (i = 0; i < n; i++){ iMin = i; for (j= Urut; j < n; j++){ if (Arr[j] > Arr [iMin]) { iMin = j; if (Arr[i] != Arr[iMin]){ Tmp = Arr[i]; if(Arr[i] < Arr [iMin]) { Arr[i] = Arr[iMin]; Arr[iMin] = Tmp;}}}} Urut = Urut + 1;} cout<<"\nSetelah Pengurutan\n"; for(i = 0; i < n; i++) { 34
cout<<"Elemen
ke
"<<(i
+
1)<<"
adalah
"<>n; for(i = 0; i < n; i++){ cout<<"Masukkan data ke "<<(i + 1)<<" : "; cin>>Arr[i];} for (i = 1; i < n; i++) { for (j = 0; j < n - 1; j++) { if(Arr[j] > Arr [j + 1]) { Tmp = Arr[j]; Arr[j] = Arr[j + 1]; Arr[j + 1] = Tmp;}}} cout<<"\nSetelah Pengurutan\n"; for(i = 0; i < n; i++) { cout<<"Elemen
ke
"<<(i
+
1)<<"
adalah
"<
4:
cout<<"\nInputkan
banyak
data
yang
diurutkan : "; cin>>n; for(i = 0; i < n; i++){ cout<<"Masukkan data ke "<<(i + 1)<<" : "; cin>>Arr[i]; } for (i = 1; i < n; i++) { for (j = 0; j < n - 1; j++) { if(Arr[j] > Arr [j + 1]) { Tmp = Arr[j]; 35
akan
Arr[j] = Arr[j + 1]; Arr[j + 1] = Tmp;}}} cout<<"\nSetelah Pengurutan\n"; for(i = 0; i < n; i++) { cout<<"Elemen
ke
"<<(i
+
1)<<"
adalah
"<
5:
cout<<"\nInputkan
banyak
data
yang
akan
diurutkan : "; cin>>n; for(i = 0; i < n; i++){ cout<<"Masukkan data ke "<<(i + 1)<<" : "; cin>>Arr[i]; } for (i = 1; i < n; i++) { Tmp = Arr[i]; j = i - 1; while(Arr[j] >= Tmp && j > 0) { Arr[j + 1] = Arr[j]; j = j - 1; } if(Tmp >= Arr [j]){ Arr [j + 1] = Tmp; } else { Arr [j + 1] = Arr[j]; Arr [j] = Tmp; } } cout<<"\nSetelah Pengurutan\n"; for(i = 0; i < n; i++) { cout<<"Elemen
ke
"<<(i
"<
36
+
1)<<"
adalah
case
6:
cout<<"\nInputkan
banyak
data
yang
akan
diurutkan : "; cin>>n; for(i = 0; i < n; i++){ cout<<"Masukkan data ke "<<(i + 1)<<" : "; cin>>Arr[i]; } for (i = 1; i < n; i++) { Tmp = Arr[i]; j = i - 1; while(Arr[j] >= Tmp && j > 0) { Arr[j + 1] = Arr[j]; j = j - 1; } if(Tmp >= Arr [j]){ Arr [j + 1] = Tmp; } else { Arr [j + 1] = Arr[j]; Arr [j] = Tmp; } } cout<<"\nSetelah Pengurutan\n"; for(i = 0; i < n; i++) { cout<<"Elemen
ke
"<<(i
+
1)<<"
adalah
"<
Tekan
Enter
."<=1 && code <=6); }
37
Untuk
Keluar
.
.
Setelah program tersebut di eksekusi maka akan menghasilkan keluaran output seperti gambar dibawah ini.
Gambar 3.6 Output Program dengan metode Shorting
Pada program diatas menggunakan percabangan Switch
karena
mempunyai kemungkinan yang cukup banyak. Struktur itu akan melaksanakan salah satu dari dari beberapa pernyataan “Case” tergantung dengan kondisi yang ada dalam switch. Tipe data yang digunakan yaitu
integer dengan variable i, j, iMin, n, Urut, Tmp,code dan Array arr[100]. Pengguna dapat memilih dari 7 pilihan metode program sorting berikut ini:
cout<<"=====================================\n"; cout<<"| Pilihan Program Sorting |\n"; cout<<"=====================================\n"; cout<<"| 1. Selection Sorting (Ascending)|\n"; cout<<"| 2. Selection Sorting (Descending)|\n"; cout<<"| 3. Bubble Sorting (Ascending) |\n"; cout<<"| 4. Bubble Sorting (Descending) |\n"; cout<<"| 5. Insertion Sorting (Ascending) |\n"; cout<<"| 6. Insertion Sorting (Descending) |\n"; cout<<"| 7. Keluar... |\n"; 38
cout<<"=====================================\n\n"; cout<<"Masukkan Pilihan Anda : "; cin>>code; Sehingga, 7 pilihan dari 6 metode Sorting yang akan dipilih User untuk selanjutnya diproses oleh program dan menghasilkan keluaran berupa Output.
3.2 Tugas Praktikum 3.2.1 Praktikum I
Pada pembahasan tugas pada Praktikum I bentuk Script Program-nya adalah sebagai berikut.
#include #include void main() {int JUM_DATA; float suhu[100]; float total; clrscr(); cout<<"Masukkan banyaknya data = "; cin>>JUM_DATA; cout<<"Masukkan Data Suhu"<>suhu[i];} total=0; for( int i=0;i
banyaknya data = "; dan data yang diinputkan user tersebut akan di masukkan ke variable jumlah data suhu cin>>JUM_DATA; untuk selanjutnya dipanggil dan diproses kemudian akan menghasilkan keluaran nilai rata-rata dari banyaknya data suhu (n)yang di inputkan user.
3.2.2 Praktikum II
Pada pembahasan tugas pada Praktikum II bentuk Script Program-nya adalah sebagai berikut.
#include #include #include main() {clrscr; float nilai_jual [3][4]= {{70,60,80,90}, {70,75,90,90}, {70,70,70,90}}; //Deklarasi untuk baris 44
float jml_nilai0, jml_nilai1, jml_nilai2; float rerata0, rerata1, rerata2; jml_nilai0=0; jml_nilai1=0; jml_nilai2=0; //Deklarasi untuk kolom float jml_nilaicol0, jml_nilaicol1, jml_nilaicol2, jml_nilaicol3; float reratacol0, reratacol1, reratacol2, reratacol3; jml_nilaicol0=0; jml_nilaicol1=0; jml_nilaicol2=0; //Per Baris for (int i=0;i<=2;i++) {if (i==0) { for (int j=0;j<=3;j++) jml_nilai0=jml_nilai0+nilai_jual[i][j];} else if (i==1) { for (int j=0;j<=3;j++) jml_nilai1=jml_nilai1+nilai_jual[i][j];} else {for (int j=0;j<=3;j++) jml_nilai2=jml_nilai2+nilai_jual[i][j];}} rerata0=jml_nilai0/4; rerata1=jml_nilai1/4; rerata2=jml_nilai2/4; cout<<"Rarata baris ke 1 = "<
cout<<"Rarata baris ke 2 = "<
else if (j==2) {for (int i=0;i<=2;i++)
jml_nilaicol2=jml_nilaicol2+nilai_jual[i][j]; } else {for (int i=0;i<=2;i++) jml_nilaicol3=jml_nilaicol3+nilai_jual[i][j];}} reratacol0=jml_nilaicol0/3; reratacol1=jml_nilaicol1/3; reratacol2=jml_nilaicol2/3; reratacol3=jml_nilaicol3/3; cout<<" rerata="" kolom="" 1="<
getche();return(0); } Setelah program tersebut di eksekusi maka akan menghasilkan keluaran
output seperti gambar dibawah ini.
Gambar 3.8 Output Program Pembahasan Tugas Praktik um I I
47
48
Pada program utama pembahasan praktikum II, program dengan deklarasi array sebagai berikut
float nilai_jual [3][4]= {{70,50,80,30}, {60,40,65,45}, {80,60,75,50}}; Diganti dengan deklarasi program dengan nilai array sebagai berikut.
float nilai_jual [3][4]= {{70,60,80,90}, {70,75,90,90}, {70,70,70,90}}; Sehingga data yang akan diproses berbeda dengan program utama akan tetapi bentuk prosesnya tetap sama dimana jumlah nilai baris
1,2,3
akan dibagi dengan banyaknya kolom (4) sehingga
menghasilkan nilai rerata baris 1,2,3. Dan begitupula untuk mendapatkan rerata dari tiap kolomnya dengan proses yang sama yaitu jumlah nilai kolom
1,2,3,4 dibagi dengan banyaknya baris
sehingga menghasilkan nilai rerata kolom 1,2,3,4. 3.2.3 Praktikum III
Pada pembahasan tugas pada Praktikum III bentuk Script Program-nya adalah sebagai berikut.
#include #include #include void main() { int data[8] = {5,2,1,6,7,9,8,3}; int cari=0; 49
int i=0; int flag=0; cout<<" diketahui="" deretan="" data"<<"="" {5="" 6="" 7="" 9="" 8="" 3}="" "<>cari; while (i<8){if (data[i]==cari) {flag=1; break;}i++;} if (flag==1) cout <<"Data Ditemukan "<
Gambar 3.9 Output Program Pembahasan Tugas Praktikum I I I
50
51
Pada program utama pembahasan praktikum III, program dengan nilai masukan variable Cari telah diinisialisasi atau ditetapkan oleh program, dan pada pembahasan tugas praktikum III ini inisialisasi tersebut diganti dengan perintah masukkan, agar nilai data yang akan di inputkan sesuai dengan keinginan pengguna (User). Maka, dengan menghapus nilai tetap variable cari=6 menjadi
cari=0
dan
memasukkan
membuat
nilai
data
kondisi yang
dimana
akan
di
user cari
diminta dengan
cout<<"Masukkan data yang saudara cari
untuk
perintah
"<<" :
"; dan data yang diinputkan user tersebut akan di masukkan ke variable cari cin>>cari untuk selanjutnya diproses untuk mencari nilai yang di inputkan oleh User untuk kemudian akan menghasilkan keluaran jika nilai yang dicari ditemukan akan menampilkan “Data Ditemukan” dan jika tidak “Data tidak Ditemukan”.
3.2.4 Praktikum IV
Pada pembahasan tugas pada Praktikum IV bentuk Script Program-nya adalah sebagai berikut.
//Program Bubble.cpp //Untuk penggunaan cout #include //untuk penggunaan clrscr #include //untuk penggunaan setw atau pengaturan format #include void main() {clrscr(); 52
//Deklarasi,nama array (input) dan variabel penampung int Numlist [8]={5,34,32,25,75,42,22,2}; int swap; //untuk menampilkan input cout<<"Data sebelum diurutkan
:
"<
for (int ctr=0; ctr<8; ctr++) { cout<
swap=Numlist[ii]; Numlist[ii]=Numlist[ii+1]; Numlist[ii+1]=swap;
} cout<<"Data setelah diurutkan: \n"; //Menampilkan output for(int iii=0; iii<8; iii++) cout<
53
Setelah program tersebut di eksekusi maka akan menghasilkan keluaran output seperti gambar dibawah ini.
Gambar 10 Output Program Pembahasan Tugas Pr aktik um I V
54
55
Pada program utama pembahasan praktikum IV, hasil program ditampilkan secara Ascending atau urut dari nilai terkecil hingga nilai terbesar. Sehingga pada pembahasan Tugas praktikum IV ini ditugaskan untuk mengganti hasil Sorting keluaran program untuk menampilkan secara “Descending” atau urut dari nilai terbesar hingga nilai terkecil. Maka, untuk merubah keluaran sorting Ascending menjadi
Descending yaitu dengan mengganti statement perbandingan lebih dari (>) menjadi kurang dari (<) dari kondisi if(Numlist[ii]
< Numlist[ii +1]) sehingga keluaran yang dihasilkan akan secara sorting dari nilai terbesar hingga nilai terkecil. 3.2.5 Praktikum V
Pada pembahasan tugas pada Praktikum V bentuk Script Program-nya adalah sebagai berikut.
#include #include #include void main () {int i,j,iMin; int n, Urut; int Tmp,code; int Arr[100]; do{ cout<<"=====================================\n"; cout<<"| Pilihan Program Sorting |\n"; cout<<"=====================================\n"; cout<<"| 1. Selection Sorting (Ascending)|\n"; cout<<"| 2. Selection Sorting (Descending)|\n"; 56
cout<<"| 3. Bubble Sorting (Ascending) |\n"; cout<<"| 4. Bubble Sorting (Descending) |\n"; cout<<"| 5. Insertion Sorting (Ascending) |\n"; cout<<"| 6. Insertion Sorting (Descending) |\n"; cout<<"| 7. Keluar... |\n"; cout<<"=====================================\n\n "; cout<<"Masukkan Pilihan Anda : "; cin>>code; switch (code){ case 1 :cout<<"\nInputkan banyak data yang akan diurutkan : ";cin>>n; Urut: 1; for (i = 0; i < n; i++) {cout<<"Masukkan data ke "<< (i + 1)<<" : "; cin>>Arr[i];} for (i = 0; i < n- 1; i++) { iMin = i; for (j = Urut; j < n; j++){ if (Arr [j] < Arr [iMin]) { iMin = j; if (Arr [i] != Arr [iMin]){ Tmp = Arr[i]; if (Arr[i] > Arr [iMin]){ Arr[i] = Arr [iMin]; Arr[iMin] = Tmp;}}}} Urut = Urut + 1;} cout<<"\nsetelah Pengurutan\n"; for(i = 0; i < n; i++) { 57
cout<<"Elemen ke "<<(i + 1)<<" adalah "<>n; Urut = 1; for (i = 0; i < n; i++){ iMin = i; for (j= Urut; j < n; j++){ if (Arr[j] > Arr [iMin]) { iMin = j; if (Arr[i] != Arr[iMin]){ Tmp = Arr[i]; if(Arr[i] < Arr [iMin]) { Arr[i] = Arr[iMin]; Arr[iMin] = Tmp;}}}} Urut = Urut + 1;} cout<<"\nSetelah Pengurutan\n"; for(i = 0; i < n; i++) { cout<<"Elemen ke "<<(i + 1)<<" adalah "<>n; for(i = 0; i < n; i++){ cout<<"Masukkan data ke "<<(i + 1)<<" : "; cin>>Arr[i];} for (i = 1; i < n; i++) { for (j = 0; j < n - 1; j++) { 58
if(Arr[j] > Arr [j + 1]) { Tmp = Arr[j]; Arr[j] = Arr[j + 1]; Arr[j + 1] = Tmp;}}} cout<<"\nSetelah Pengurutan\n"; for(i = 0; i < n; i++) { cout<<"Elemen ke "<<(i + 1)<<" adalah "<>n; for(i = 0; i < n; i++){ cout<<"Masukkan data ke "<<(i + 1)<<" : "; cin>>Arr[i];} for (i = 1; i < n; i++) { for (j = 0; j < n - 1; j++) { if(Arr[j] > Arr [j + 1]) { Tmp = Arr[j]; Arr[j] = Arr[j + 1]; Arr[j + 1] = Tmp;}}} cout<<"\nSetelah Pengurutan\n"; for(i = 0; i < n; i++) { cout<<"Elemen ke "<<(i + 1)<<" adalah "<>n; for(i = 0; i < n; i++){ cout<<"Masukkan data ke "<<(i + 1)<<" : "; 59
cin>>Arr[i];} for (i = 1; i < n; i++) { Tmp = Arr[i]; j = i - 1; while(Arr[j] >= Tmp && j > 0) { Arr[j + 1] = Arr[j]; j = j - 1;} if(Tmp >= Arr [j]){ Arr [j + 1] = Tmp; } else { Arr [j + 1] = Arr[j]; Arr [j] = Tmp;}} cout<<"\nSetelah Pengurutan\n"; for(i = 0; i < n; i++) { cout<<"Elemen ke "<<(i + 1)<<" adalah "<>n; for(i = 0; i < n; i++){ cout<<"Masukkan data ke "<<(i + 1)<<" : "; cin>>Arr[i];} for (i = 1; i < n; i++) { Tmp = Arr[i]; j = i - 1; while(Arr[j] >= Tmp && j > 0) { Arr[j + 1] = Arr[j]; j = j - 1;} if(Tmp >= Arr [j]){ 60
Arr [j + 1] = Tmp; } else { Arr [j + 1] = Arr[j]; Arr [j] = Tmp;}} cout<<"\nSetelah Pengurutan\n"; for(i = 0; i < n; i++) { cout<<"Elemen ke "<<(i + 1)<<" adalah "<=1 && code <=6);} Setelah program tersebut di eksekusi maka akan menghasilkan keluaran output seperti gambar dibawah ini.
Gambar 3.11 Output Program Pembahasan Tugas Pr aktikum V
61
62
63
64
Pada program diatas menggunakan percabangan Switch karena mempunyai kemungkinan yang cukup banyak. Struktur itu akan melaksanakan salah satu dari dari beberapa pernyataan “Case” tergantung dengan kondisi yang ada dalam switch. Tipe data yang digunakan yaitu integer dengan variable i, j, iMin, n,
Urut, Tmp,code dan Array arr[100]. Pengguna dapat memilih 7 pilihan dan 6 metode program sorting berikut ini:
1. Selection Sorting (Ascending) 2. Selection Sorting (Descending) 3. Bubble Sorting (Ascending) 4. Bubble Sorting (Descending) 5. Insertion Sorting (Ascending) 6. Insertion Sorting (Descending) 7. Keluar Berikut ini, jika user memilih pilihan 1 yaitu Metode Algoritma
Selection Sorting secara Ascending, maka user akan diminta untuk menginputkan banyak data yang akan diurutkan sebagai contoh banyak data yang akan diurutkan yaitu 3, kemudian menginputkan data ke 1 hingga data ke 3 sehingga program akan membacanya dan memproses secara Selection
Sorting (Ascending)sehingga
menghasilkan output program seperti gambar berikut ini.
65
Gambar 3.12 Metode Algori tma Selection Sorting secara Ascending
Jika user memilih pilihan 2 yaitu Metode Algoritma Selection Sorting
secara
Descending,
maka
user
akan
diminta
untuk
menginputkan banyak data yang akan diurutkan sebagai contoh banyak data yang akan diurutkan yaitu 6, kemudian menginputkan data ke 1 hingga data ke 6 sehingga program akan membacanya dan memproses secara
Selection
Sorting
(Descending)sehingga
menghasilkan output program seperti gambar berikut ini
Gambar 3.13 M etode Algori tma Selection Sorti ng secara Descending
66
Kemudian jika user memilih pilihan 3 yaitu yaitu Metode
Algoritma Bubble Sorting secara Ascending, maka user akan diminta untuk menginputkan banyak data yang akan durutkan sebagai contoh banyak data yang akan diurutkan yaitu 6, kemudian menginputkan data ke 1 hingga data ke 6 sehingga program akan membacanya
dan
memproses
secara
Bubble
Sorting
(Ascending)sehingga menghasilkan output program seperti gambar berikut ini.
Gambar 3.14 Metode Algori tma Bubble Sorting secara Ascending
Kemudian
jika
user
memilih
pilihan 4 yaitu
Metode
Algoritma Bubble Sorting secara Descending, maka user akan diminta untuk menginputkan banyak data yang akan durutkan sebagai contoh banyak data yang akan diurutkan yaitu 6, kemudian menginputkan data ke 1 hingga data ke 6 sehingga program akan membacanya
dan
memproses
(Descending)sehingga
secara
menghasilkan
gambar berikut ini.
67
Bubble output
Sorting
program
seperti
Gambar 3.15 M etode Algori tma Bubble Sorting secara Descending
68
BAB IV KESIMPULAN 1. Kesimpulan Praktikum I
Dari pembahasan praktikum I dapat disimpulkan bahwa Array adalah kumpulan data bertipe sama dan menggunakan nama yang sama pula. Antara satu variabel dengan variabel lain di dalam array dibedakan berdasarkan “subscript”.
Subscript berupa bilangan di dalam kurung siku [...].
Melalui subscript inilah masing-masing elemen dapat diakses. Array terdiri dari Array berdimensi satu, Array berdimensi dua selain itu
Array juga dapat berkedudukan sebagai parameter di dalam fungsi.
2. Kesimpulan Praktikum II
Pada pembahasan Praktikum II dapat disimpulkan bahwa program menggunakan Array berdimensi dua, yaitu kondisi dimana sekumpulan data/elemen yang disimpan secara berurutan dalam suatu tempat/subscript yang terdiri atas 2 (dua) unsur, yaitu baris dan kolom. Array berdimensi dua berarti memiliki dua dimensi data.
3. Kesimpulan Praktikum III
Pada
Pembahasan
Praktikum
III
dijelaskan
tentang
bagaimana
menerapkan aplikasi algoritma untuk pencarian data dari pengelompokkan data dengan tipe yang berlainan (Struct). Kemudian dengan mengganti variable yang telah ditentukan oleh program maka pengguna (user) dapat memasukkan nilai yang akan dicari sesuai dengan keinginan.
69