ARRAY SATU DIMENSI Minggu VI
Bahan Bacaan [A4] Chapter 8 [S1] Chapter 4, pelajari algoritma Tic Tac Toe [S2] Chapter 9, latihan 9.8 [S3] pelajari cara kerja program class Box (Ex6_10.cpp) [S4] Pelajari cara kerja program Example 15-6
Motivasi Tentu akan sangat menyulitkan bila kita harus membuat banyak variabel untuk menampung banyak data sejenis, A1, A2, …, A100. Lebih baik membuat satu variabel saja, namun bisa menampung banyak data Contoh : tempat telur yang dijual di pasar, nomor kursi bioskop/kereta api, posisi antrian, gedung bertingkat beserta kamar-kamarnya, dll.
Array struktur data yang mengandung type data yang mempunyai type sama. Berupa sekelompok memori yang berhubungan (contiguous). Array mempunyai nama dan type yang sama. Untuk merujuk lokasi tertentu atau elemen dalam array nama array + indeks
Ilustrasi
Untuk mengisi indeks 2 array c dengan nilai 5 : Indeks array dalam C++, mulai dari 0.
Deklarasi Array ditentukan dengan tipe dari setiap elemen dan banyaknya elemen yang diperlukan oleh setiap array sehingga komputer mempersiapkan sejumlah memori. array tipe char dapat digunakan untuk menyimpan string karakter.
Membaca elemen array indeks array umumnya urut teratur, bahkan C++ menjamin letak elemen contiguous dalam memori
Perhatikan parameter formal int A[ ] Perhatikan parameter formal int A[ ]. Passing parameter array seperti itu menggunakan pointer. Dengan demikian, kita bisa mengubah isi dari array. bila tidak diinginkan perubahan dalam array perlu ditambahkan const.
Mencetak Elemen Array digunakan kualifier const karena untuk mencetak data tidak diperlukan adanya perubahan pada data tersebut.
Kasus 6.1. Carilah rata-rata dari n bilangan bulat dengan menggunakan array.
Kasus 6.2. Carilah nilai deviasi standar dari n buah data. Analisis : Rumus deviasi standar adalah : Terlihat bahwa nilai rata-rata dan datanya digunakan kembali.
Kasus 6.3. Buatlah algoritma untuk menentukan nilai maksimum dari n bilangan.
Kasus 6.4. Buatlah algoritma untuk menentukan nilai maksimum dan minimum dari n bilangan.
Langkah penyelesaian masalahnya adalah : Kasus 6.5. Tentukan modus dari n buah data berupa bilangan bulat (data antara 1 sampai dengan 10). Analisis : Modus adalah bilangan (data) yang paling sering muncul. Dengan kata lain, frekuensi data terbesarlah yang dicari. Langkah penyelesaian masalahnya adalah : setiap jenis data dihitung frekuensi kemunculannya dari frekuensi-frekuensi tersebut dicari frekuensi terbesarnya.
String String dapat dipandang sebagai sederetan karakter (misalnya dengan panjang 255) atau array [1..255] of char. Sedangkan string dengan panjang satu disebut sebagai karakter (char).
Kasus 6.6. Buatlah suatu algoritma untuk mengecek apakah suatu kata atau kalimat merupakan palindrom atau tidak. Palindrom adalah suatu kata atau kalimat yang dibaca dari kiri ke kanan sama dengan kalu dibaca dari kanan ke kiri. Analisis : Misalnya kata yang akan dicek adalah “kasur rusak”. Maka huruf pertama dicek, apakah sama dengan huruf pertama terakhir atau tidak, (sampai dengan pertengahan kalimat). Bila pengecekan selalu sama maka kalimat tersebut adalah palindrom. Jika terdapat satu huruf saja yang tidak sama, kalimat tersebut bukanlah palindrom.
Algoritma dan Pemrograman AlGoRiTmA dAn PeMrOgRaMaN Latihan Buatlah algoritma dan function dalam bahasa C++ untuk menggantikan strlen, yaitu mengetahui panjang suatu string Buatlah algoritma dan program untuk mengubah string menjadi bergantian huruf besar dan kecil. Contoh : Algoritma dan Pemrograman AlGoRiTmA dAn PeMrOgRaMaN
Materi Minggu Depan Pelajari Sorting : Perbedaan dan cara kerjanya Bubble Insertion Selection Perbedaan dan cara kerjanya Contoh : buat beberapa bilangan, kemudian urutkan dengan ketiga metode di atas.
Kisi-kisi Soal Midterm 1 soal dari latihan Algoritma, atau Flowchart, atau Program (dalam bentuk class beserta dengan kelengkapannya) 1 soal dari diktat 1 soal dari praktikum (program) 1 soal pelacakan/ modifikasi program Iteratif vs rekursif, atau Macam-macam bentuk rekursif, atau Kasus