Hello guys...
Gimana ASDnya??? Jangan pada cemberut gitu donk. Harus tetap semangat ya... ^_^
Kali ini gw postingin sedikit algoritma untuk menyelesaikan tugas Stack dari praktikum ASD Kamis kemarin.
Ngomong-ngomong soal balik-membalik kata, kita tentunya dah nggak asing lagi ama tu kegiatan, utamanya buat yang asli Malang. Lok dulu waktu UAS BPT semester 1 kita disuruh membuat program untuk membalik kata, kita bisa menyelesaikannya dengan membaca data array dari belakang. Nah, buat tugas stack kali ini juga nggak jauh beda ama itu.
Seperti yang kita tahu, di stack ada istilah push dan pop.Push untuk memasukkan data, dan pop untuk mengeluarkan data. Kita juga sudah diberi satu prinsip dalam stack oleh Pak Made, yaitu data yang terakhir masuk adalah data yang pertama kali keluar. BetuL??? Nah, prinsip ini bisa kita manfaatin buat membalik sebuah kata maupun kalimat (string), dengan algoritma sebagai berikut :
1. Input sebuah string
2. Push string tersebut ke dalam array
3. Pop string tersebut keluar array
4. Print string yang di pop tadi
Jadi, jika kita menginputkan string "PENDTOFFA", maka push string tersebut ke dalam array, sehingga 'P' akan masuk ke dalam array[0], 'E' ke dalam array[1], dst hingga 'A' masuk ke dalam array[8]. Dalam kondisi ini, ToS (Top of Stack) memiliki nilai 8.
Kemudian pop string tadi dan tampilkan apa yang di-pop. Proses pop dilakukan dari ToS saat ini, dalam hal ini indeks ke-8. Sehingga 'A' yang berada pada array[8] keluar dan ditampilkan di layar. Kemudian ToS yang mengalami decrement sekarang bernilai 7. Proses berulang dengan mengambil data array[7], yaitu 'F'. Begitu seterusnya hingga data pada array[0] ('P') terambil dan ToS bernilai (-1). Hal tersebut menyebabkan string yang tampil di layar menjadi "AFFOTDNEP". Terbalik kan sekarang???
So, how to solve this problem dalam bentuk listing program??? SELAMAT BERPIKIR!!!
P.S. : fungsi isempty() dan isfull() serta inisialisai() harus tetap digunakan
Read more...
That’s how i fall
7 tahun yang lalu