‫Dan video ini, kita akan membahas Kyuss dan kita akan melihat bagaimana menggunakan isyarat dalam
‫aplikasi kita, isyarat itu penting dan banyak digunakan oleh sistem operasi kita, misalnya, untuk menangani tugas, penjadwalan,
‫dan banyak proses lainnya.
‫Isyarat harus digunakan ketika urutan data penting, seperti yang akan kita lihat dalam contoh kita.
‫Jadi mari kita lanjutkan dan pertama-tama, tentukan antrian untuk menentukan antrian yang dapat Anda gunakan untuk antrian.
‫Antrian kata kunci juga merupakan bagian dari kumpulan generik, yang berarti kita perlu menentukan antrian
‫tipe A yang akan dimasukkan.
‫Jadi dalam hal ini, ia akan menampung sekelompok bilangan bulat, tetapi juga dapat menampung jenis lainnya.
‫Itu bisa menahan senar, bahkan bisa menahan seluruh objek.
‫Jadi, Anda sepenuhnya bebas menentukan apa pun yang Anda inginkan untuk dipegang oleh item ini.
‫Jadi antrian kemudian kurang dari tanda, integrasikan dan tanda tangani dan kemudian nama antrian sama dengan dan kemudian Anda dapat
‫menginisialisasinya langsung seperti yang kita lakukan di sini, di mana kita hanya membuat antrian kosong yang menampung bilangan bulat.
‫Oke, jadi sekarang kita bisa melanjutkan dan menambahkan item ke antrean ini.
‫Untuk menambahkan item untuk menuduh, Anda dapat menggunakan metode NQ.
‫Metode NQ menambahkan objek ke akhir antrian.
‫Oke, jadi kalau saya menambahkan item seperti itu, misalnya, item ini akan menjadi yang pertama karena sementara itu yang pertama
‫kami sertakan, tetapi juga akan menjadi yang terakhir.
‫Oke, jadi segera setelah kami menambahkan satu lagi, item baru akan menjadi item terakhir dalam antrian.
‫Oke, jadi begitulah cara pemesanan dilakukan.
‫Ini mirip dengan tumpukan, tetapi perbedaannya adalah antrian ketika Anda menyingkirkan sesuatu, jadi
‫ketika Anda mengeluarkan item, itu akan mengambilnya dari awal antrian.
‫Jadi item lain yang dibuat terlebih dahulu akan diambil atau akan dikeluarkan dari antrian,
‫begitulah.
‫OK, jadi untuk melihat item Qs, kita bisa menggunakan metode puncak dan metode ini akan menampilkan item pertama dalam
‫antrian, jadi bagian depan antrian, bisa dikatakan.
‫Jadi itu seperti antrian orang di mana Anda berada di konter dan Anda ingin memesan sesuatu, misalnya,
‫maka metodenya akan memberi Anda orang pertama dalam antrian itu yang akan memesan.
‫OK, jadi mari kita jalankan ini dengan sangat cepat dan lihat bagaimana ini akan terlihat.
‫Dan kita melihat nilai di depan antrian adalah satu.
‫Sekarang, mari tambahkan beberapa nilai lagi untuk melihat bagaimana hal itu akan memengaruhi aplikasi kita.
‫Jadi di sini saya akan menambahkan item antrian yang berbeda seperti jadi saya akan mengakhiri Q1 dan Q2 dan Q3 dan saya hanya menggunakan
‫angka-angka ini.
‫Satu dua tiga.
‫Mereka bisa menjadi nomor lain juga.
‫Tidak benar-benar harus satu, dua, tiga.
‫Oke, jadi dengan peaking, kita mendapatkan item yang ada di awal antrian.
‫Anda dapat melihat setiap saat, tidak peduli apa yang kami tambahkan ke antrian, yang akan menjadi item pertama kami
‫dalam antrian.
‫Jadi itu akan menjadi yang ditampilkan saat kita menggunakan metode mengintip.
‫Sekarang, untuk menyingkirkan item dari antrian, Anda akan menggunakan metode dequeue.
‫OK, jadi di sini Anda melakukan dequeue.
‫Jadi dequeue ini sekarang akan menyingkirkan bilangan bulat pertama dari antrian kita dan juga akan langsung menyimpannya.
‫Jadi kita bisa menyimpan ini mari kita sebut item antrian ini, misalnya, dan kemudian akan menyimpan
‫hasil item dequeue ini.
‫Jadi pada dasarnya itu akan menyimpan satu di sana karena itu adalah item pertama yang kita miliki dalam daftar.
‫Dan kemudian Peking akan ditampilkan juga, karena sekarang sudah tidak ada lagi.
‫Item pertama hilang.
‫Jadi sekarang nilai dalam antrian akan menjadi dua karena, kita baru saja menemukan item pertama.
‫Jadi ini mirip dengan pop in stack, tetapi menghilangkan item di awal antrian alih-alih di
‫akhir antrian atau di ujung tongkat, bagaimanapun Anda ingin melihatnya.
‫Anda dapat, tentu saja, juga mencoba mendequeue item di awal, jika tidak ada elemen
‫di dalam kubus, tetapi Anda akan mengalami pengecualian operasi yang tidak valid, antriannya kosong, jadi
‫Anda perlu memeriksa apakah antriannya kosong atau tidak sebelum menjalankan ini.
‫Jadi di sini kita dapat menjalankan metode dequeue karena kita tahu bahwa kita baru saja menemukan sesuatu.
‫Tetapi jika tidak, Anda akan menggunakan properti count dari antrian Anda untuk mengetahui berapa banyak item yang Anda miliki di
‫sana.
‫Jadi ini adalah properti yang dapat Anda gunakan, mendapatkan jumlah elemen yang terkandung dalam
‫antrian dan Anda kemudian dapat memeriksa apakah itu lebih besar dari nol, misalnya, untuk memeriksa apakah
‫ada sesuatu dalam antrian yang Anda bisa, misalnya , antrian.
‫Oke, jadi dalam contoh khusus ini, saya akan melanjutkan dan menggunakan my.
‫Q Hitung untuk memeriksa ulang dalam loop sementara, dan untuk setiap item, saya akan melakukan dequeue dan juga
‫menuliskan jumlah item yang masih ada di Q dan juga item yang telah dihapus.
‫Jadi baris ini di sini akan menghapus item dengan memanggil metode dequeue dan pada saat yang sama akan menampilkan
‫item di sini karena itulah yang kita gunakan di sini.
‫Kami menggunakan string.
‫Benar.
‫Dan dengan posisi nol ini, maka akan ditampilkan apa saja hasil dari dequeue call tersebut.
‫Dan seperti yang Anda lihat di sini, metode dequeue akan mengembalikan bilangan bulat.
‫Jadi kita akan menampilkan nomor di sini.
‫Oke, jadi izinkan saya menyingkirkan dequeue ini yang saya gunakan di sini untuk mendemonstrasikan cara dequeue item dan mari
‫kita jalankan lagi dan Anda dapat melihat nilainya berbeda dengan yang ini.
‫Dan kemudian pada dasarnya kita memulai loop kawat di sini.
‫Itu bagian yang menarik.
‫Jadi satu kata dihapus dari kubus.
‫Sekarang, kami hanya memiliki dua item yang tersisa.
‫Dua dikeluarkan dari CUNA.
‫Kami hanya memiliki satu item yang tersisa dan tiga telah dikeluarkan dari kubus.
‫Sekarang kami hanya memiliki nol item yang tersisa.
‫Jadi pada dasarnya Q kosong pada saat itu.
‫Baiklah, jadi mari kita lihat contoh dunia nyata yang kurang lebih, tentu saja, kami tidak
‫bekerja dengan database dalam contoh sederhana ini di sini, tetapi katakanlah kami memiliki platform e-niaga dan kami adalah penjual dan kami
‫menerima sekumpulan pesanan.
‫Pesanan-pesanan ini harus diproses sedemikian rupa sehingga waktu layanan, sehingga waktu tunggu pelanggan
‫harus diminimalkan.
‫Inilah mengapa kami akan menggunakan Qs karena sangat praktis karena kami peduli
‫dengan urutan pesanan yang masuk.
‫Jadi urutan pesanan, itu sedikit twister lidah di sini, tapi urutan data yang
‫diterima, oke, dan maksud saya pesanan itu sendiri.
‫Jadi mari kita lihat kelas yang sangat sederhana ini yang akan kita buat di sini dan saya akan meletakkannya di dalam
‫file yang sama di sini.
‫Pesanan tanpa disk dengan properti ID pesanan, properti kuantitas pesanan dan kemudian konstruktor, yang pada dasarnya hanya menetapkan kedua
‫nilai tersebut saat kita membuat objek pesanan.
‫Dan kemudian kami memiliki pesan cetak ini atau metode pesanan proses ini yang akan mencetak ID pesanan item
‫yang sedang kami lihat.
‫Jadi dari urutan yang sedang kita lihat.
‫OK, jadi sekarang yang ingin saya lakukan adalah saya benar-benar ingin membuat metode di dalam kelas program
‫saya.
‫Jadi saya akan meletakkannya di sini di dalam braket ini.
‫Dan metodenya, mereka akan mengurus pesanan dari berbagai cabang.
‫Jadi katakanlah kita memiliki dua cabang berbeda tempat kita bisa mendapatkan pesanan.
‫Katakanlah kita menjual di Amazon dan pada saat yang sama di Best Buy, misalnya, dan sekarang kita akan
‫mendapatkan pesanan tersebut.
‫Sekarang, kita tidak akan membuatnya terlalu rumit di mana kita akan memeriksa cabang mana yang dilakukan oleh urutan cabang yang
‫berbeda, atau sesuatu yang tentu saja dapat Anda lihat sebagai tantangan bagi diri Anda sendiri jika Anda
‫ingin mengembangkannya. .
‫Tapi kami hanya akan berkata, OK, beri saya pesanan dari masing-masing dalam urutan yang benar dan beri
‫saya pesanan dari cabang ke dalam urutan yang benar juga.
‫OK, jadi di sini ini akan menjadi cabang satu dengan banyak pesanan dan kemudian kami memiliki cabang dua dengan banyak
‫kata.
‫Jadi kami mendapatkan datanya.
‫Katakanlah kita mendapatkan data ini dari database tempat kita memeriksa, OK, apa perintahnya?
‫Dan kami mungkin akan memeriksanya berdasarkan tanggal sehingga setiap pesanan akan mendapatkan tanggal juga.
‫Di sini kita punya ID pesanan, tapi biasanya juga akan berusaha menyimpan saat sudah dipesan dan lain sebagainya.
‫Tapi kita akan tetap sederhana untuk contoh ini.
‫OK, jadi sekarang kita memiliki array pesanan di kedua contoh tersebut.
‫Dan ketika kita memanggil metode menerima pesanan dari Cabang satu dan dua, mereka pada dasarnya hanya akan mengubah array
‫pesanan.
‫Jadi di sini berbagai pesanan.
‫Oke, jadi itulah yang dilakukan pernyataan ini, mengembalikan pesanan.
‫Sekarang, dalam contoh khusus kami, ID pesanan sebenarnya akan menjadi unik untuk dua pesanan yang berbeda, jadi mereka
‫sudah berada dalam urutan yang benar, sehingga untuk berbicara.
‫Oke, jadi ini order satu buat order dua, lalu kami order tiga dan empat dan lima dari
‫Cabang dua dan kemudian di sore hari dan cabang satu, datang pesanan lain dan seseorang membeli 10 barang
‫kami.
‫Sekarang, dalam metode utama kami, kami dapat membuat antrian dan kami benar-benar menyingkirkan semua hal ini di sini dan metode utama
‫kami, sekarang kami dapat melanjutkan dan membuat antrian pesanan.
‫Oke, jadi di sini, urutan antrian.
‫Anda dapat melihat bahwa ini tidak akan menjadi tipe sederhana seperti integer sekarang, tetapi sebenarnya
‫akan menampung banyak pesanan.
‫Itulah hal keren tentang antrian.
‫Jadi ini bukan hanya tipe sederhana dan saya akan menyebutnya antrian pesanan yang satu ini dan saya akan langsung
‫menginisialisasinya di sini.
‫Dan kemudian pada titik ini, kita dapat melanjutkan dan mengantri semua pesanan yang kita dapatkan dari Cabang satu dengan menggunakan ini untuk loop
‫di sini, ini untuk setiap loop.
‫Jadi kita akan melalui setiap pesanan yang akan saya panggil O dalam ini untuk setiap loop dalam
‫iterasi ini dalam menerima pesanan dari Cabang satu.
‫Sekarang ini di sini akan menjadi array urutan tipe.
‫OK, jadi ketika kita memanggil metode ini, metode ini akan mengembalikan array pesanan seperti yang Anda lihat di sini.
‫Jadi pada dasarnya ini untuk setiap loop akan melalui pesanan yang kita miliki di dalam array pesanan ini dan itu
‫akan memeriksa setiap satu dari mereka.
‫Jadi semuanya akan menjadi urutan pertama ini, kemudian urutan ini, kemudian urutan itu.
‫Dan untuk masing-masing dari mereka, itu akan mencakup pesanan itu.
‫OK, jadi itulah yang dilakukan untuk setiap loop.
‫Dan kemudian kami membuat yang lain untuk setiap loop untuk cabang lainnya juga.
‫Jadi.
‫Hal yang sama berlaku di sini untuk setiap loop, semua dalam pesanan yang diterima dari Cabang dua.
‫Oke, jadi ini Cabang Bung, ini Cabang satu dan hal yang sama berlaku.
‫Jadi konsep yang sama berlaku.
‫Jadi untuk pesanan, kami akan melewati antrian kami satu per satu dan kemudian kami akan menghapus elemen dari
‫antrian kami dan memprosesnya sampai antrian kami kosong dan semua pesanan akhirnya diproses.
‫Oke, makanya disini kita punya metode process order disini yang akan memproses orderan.
‫Oke, jadi sekarang kita bisa melanjutkan.
‫Dan alih-alih metode utama kami di sini, setelah kami memiliki antrian pesanan dengan semua item
‫di dalamnya, kami dapat melewatinya dan kami dapat memeriksa apakah antrian pesanan tidak kosong dan selama itu tidak kosong.
‫Jadi selama antrian pesanan, hitungan lebih besar dari nol.
‫Kami akan menjalankan while loop ini dan kami akan menghapus urutan di depan antrian.
‫Jadi urutan yang masuk lebih dulu, bisa dikatakan, dan menyimpannya dalam variabel yang disebut urutan saat ini.
‫OK, jadi kita memiliki objek pesanan ini, yang akan disebut pesanan saat ini, yang pada
‫dasarnya adalah hasil dari antrian item pertama dari antrian pesanan kita.
‫Jadi pada dasarnya mengambil item ini dulu, lalu item ini, lalu item itu, lalu item ini dari
‫itu dan itu, OK, dan kemudian ia akan memproses masing-masing dari mereka selangkah demi selangkah.
‫Jadi pemrosesan dalam kasus kami hanya akan menjadi sesuatu yang sangat sederhana dan kami hanya akan mencetaknya ke konsol.
‫Tapi tentu saja, Anda bisa menjalankan sesuatu yang jauh lebih kompleks di latar belakang di sini.
‫Ini dapat memicu beberapa peristiwa, mengirimkan email, misalnya, kepada karyawan yang
‫harus mengurusnya atau sistem pemrosesan apa pun yang Anda gunakan di perusahaan Anda.
‫Baiklah.
‫Dan ya, itu pada dasarnya.
‫Jadi sekarang mari kita jalankan aplikasi ini untuk melihat hasilnya dan dapat melihat pesanan
‫satu diproses, pesanan dua diproses, lalu pesanan enam, lalu tiga, empat, lima.
‫OK, jadi kami memproses pesanan, tentu saja, agar kami memberi isyarat kepada mereka OK dengan itu,
‫kami menjalankannya.
‫Anda bisa lihat di sini kita mengantri dari Cabang satu dulu dan kemudian dari Cabang dua.
‫Jadi bayangkan saja skenario berikut di mana pesanan, mereka dibuat dalam sistem
‫secara internal, tetapi pertama-tama harus diterima dan didorong sepenuhnya ke entitas pemrosesan, apa pun entitas
‫itu, seperti kantor lain juga, misalnya.
‫Dan mereka melakukannya di penghujung hari, misalnya.
‫Jadi Cabang Pertama menyelesaikan staf mereka dan mereka berkata, OK, kami menerima pesanan itu.
‫Dan kemudian hari itu, karena katakanlah mereka berada di zona waktu yang berbeda.
‫Misalnya, Cabang dua mengatakan, ya, kami setuju.
‫Yah, kami mengirimkan pesanan kami seperti yang disetujui pada saat itu juga, dan kemudian mereka mulai diproses.
‫OK, jadi begitulah contoh ini dapat dipertimbangkan, misalnya.
‫Benar.
‫Jika tidak, tentu saja, Anda akan langsung memesannya berdasarkan ID mereka atau berdasarkan
‫waktu pembuatannya.
‫Baiklah.
‫Jadi sekarang Anda memiliki gagasan tertentu tentang cara kerja pesanan ini dan cara kerja antrean.
‫Itu bagian yang lebih penting.
‫Jadi sekarang Anda dapat membuat antrian Anda sendiri dan menggunakannya dalam aplikasi Anda.
‫Baiklah.
‫Jadi saya harap Anda menikmati video ini.
‫Sampai jumpa di yang berikutnya.