Array awal: 0 1 2 3 4 5 6 7 8 9 5 7 12 15 17 19 22 25 27 32 Indeks awal: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Indeks tengah: (0 + 19) / 2 = 9 Bandingkan array[9] dengan N = 17: array[9] = 9 Karena 9 < 17, cari di setengah kanan. Indeks tengah baru: (10 + 19) / 2 = 14 Bandingkan array[14] dengan N = 17: array[14] = 17 N = 17 pada indeks 14. • Pencarian Biner untuk N = 22: Array awal: 0 1 2 3 4 5 6 7 8 9 5 7 12 15 17 19 22 25 27 32 Indeks awal: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Indeks tengah: (0 + 19) / 2 = 9 Bandingkan array[9] dengan N = 22: array[9] = 9 Karena 9 < 22, cari di setengah kanan. Indeks tengah baru: (10 + 19) / 2 = 14 Bandingkan array[14] dengan N = 22: array[14] = 17 Karena 17 < 22, cari di setengah kanan. Indeks tengah baru: (14 + 19) / 2 = 16 Bandingkan array[16] dengan N = 22: array[17] = 22 N = 22 pada indeks 16. Ringkasan: Untuk N = 17, ditemukan pada indeks 14. Untuk N = 22, ditemukan pada indeks 16.
3. Program:
Output:
4. Perbedaan antara Single Stack dan Double Stack:
• Single Stack: Single stack adalah struktur data yang mengikuti prinsip Last In, First Out (LIFO), yang berarti elemen yang terakhir dimasukkan adalah yang pertama dikeluarkan. Stack ini hanya memiliki satu ujung (top) di mana operasi push (menambahkan elemen) dan pop (menghapus elemen) dilakukan. • Double Stack: Double stack adalah struktur data yang memiliki dua ujung (top), satu untuk stack pertama dan satu lagi untuk stack kedua. Operasi push dan pop dilakukan pada kedua ujung ini. • Study Kasus: Singkle Stuck • Program ini dapat dianggap sebagai studi kasus implementasi stack untuk tujuan praktis, seperti penyimpanan dan pengelolaan data. • Digunakan untuk mengilustrasikan cara menggunakan stack untuk menyimpan nilai-nilai dan mengelolanya berdasarkan kondisi tertentu (lebih besar atau sama dengan 60). • Memberikan opsi kepada pengguna untuk memasukkan data baru, menghapus data, dan mengulang proses tersebut. Double Stuck: