Introduction to Programming and Computer Science - Full Course
freeCodeCamp.org
0:01 Selamat Datang di Pengantar Pemrograman.
0:03 Saya namanya Steven Dan nama saya Sean.
0:06 Selama 90 menit berikutnya,
0:07 kami akan mengambilnya Anda melalui seri ini yang terdiri dari 21 berbeda
0:09 segmen yang ingin mencakup dasar-dasarnya pemrograman komputer,
0:12 yang dapat diterapkan ke semua
0:13 dan semua bahasa pemrograman yang mungkin Anda inginkan untuk mempelajari.
0:15 Kami akan mulai dengan yang paling sederhana
0:17 pertanyaan tentang apa itu pemrograman,
0:19 dan dari akan ada cara kerja kami saat kami berbicara
0:21 tentang fitur umum ilmu komputer seperti loop dan array.
0:25 Kami akan membahas cara membaca dan menulis kode,
0:27 kode debug Anda sudah tertulis, beberapa strategi untuk membantu membuat rencana
0:30 kode Anda, dan masih banyak lagi.
0:32 Selesai daftar topik yang akan dibahas
0:35 dalam video bergaya ceramah ini ditampilkan di layar sekarang.
0:37 Selain itu, akan ada stempel waktu
0:39 dalam deskripsi, jadi silakan lewati jika Anda sudah mahir di beberapa bidang
0:43 ilmu komputer,
0:44 atau hanya ingin tahu tentang topik tertentu yang akan kami bahas.
0:47 Mudah-mudahan, pada akhir seri,
0:48 Anda akan melakukannya memiliki pemahaman dasar tentang apa itu komputer
0:51 sains, bersama dengan gudang senjata yang berguna keterampilan
0:53 yang akan membantu Anda mengungkap mana saja
0:55 bahasa pemrograman yang Anda putuskan untuk dipelajari terlebih dahulu.
0:58 Kami hanya akan membahas poin-poin penting utama
1:00 yang berlaku untuk semua bahasa pemrograman,
1:02 jadi kami akan menghindari topik seperti pengkodean
1:04 berorientasi objek dan navigasi baris perintah,
1:07 karena itu adalah hal-hal yang spesifik bahasa.
1:09 Selain itu, tidak diperlukan perangkat lunak
1:11 untuk Anda unduh agar dapat mengikutinya dengan
1:13 tutorial ini karena kami tidak akan menulis
1:15 kode apa pun untuk membuat semuanya tetap sederhana dan terkonsentrasi.
1:19 Video ini ditujukan bagi mereka yang tertarik
1:21 dalam ilmu komputer dan pemrograman tetapi memiliki tidak tahu
1:23 harus mulai dari mana dan hanya memiliki sedikit
1:25 tidak ada informasi latar belakang tentang pengkodean,
1:26 dan sebagainya jika itu terdengar seperti Anda, maka ikat tali Sean dan
1:29 Saya bekerja dengan cara kami melalui dunia yang aneh ilmu komputer,
1:32 dimulai dari yang terbesar
1:33 pertanyaan yang mungkin ada di benak Anda, yaitu apa bahkan pemrograman?
1:37 Nah,
1:38 kamus mendefinisikannya sebagai proses mempersiapkan program instruksional untuk
1:43 perangkat, tapi itu sangat membingungkan definisi,
1:46 jadi dalam istilah awam apa sebenarnya
1:50 apa itu berarti?
1:51 Pada dasarnya,
1:52 ini berusaha untuk mendapatkan komputer untuk menyelesaikan tugas tertentu
1:55 tanpa membuat kesalahan.
1:57 Bayangkan ini, misalnya: Anda menginginkan kecerdasan Anda yang kurang
2:01 teman untuk membangun satu set lego,
2:04 kecuali dia punya
2:05 kehilangan instruksi dan hanya dapat membangun berbasis atas perintah Anda.
2:10 Ingat, temanmu jauh dari kompeten,
2:12 begitu juga jika mereka tidak diberikan
2:14 instruksi yang sangat spesifik tentang caranya
2:16 Untuk membangun set, ada banyak kesalahan dia bisa membuat.
2:19 Jika dia berpikir seperti komputer,
2:25 bagaimana menempatkannya,
2:26 seluruh set lego akan dihancurkan dan dia akan dibiarkan menderita a
2:29 kerusakan mental total yang menyebabkan keseluruhan tujuan proyek menjadi rusak.
2:34 Memberi instruksi kepada teman Anda sangat
2:37 mirip bagaimana programmer membuat kode.
2:39 Bukannya yang kurang cerdas
2:41 teman, Anda memiliki komputer yang kurang cerdas,
2:44 dan bukannya instruksi tentang cara membangun
2:46 satu set lego, kami memberinya informasi tentang cara
2:49 menyelesaikan program seperti permainan atau
2:50 aplikasi web.
2:51 Suatu hal yang penting untuk diperhatikan
2:54 adalah bahwa comptuers sebenarnya sangat bodoh.
2:56 Kami membangunnya menjadi super canggih sepotong teknologi,
3:00 padahal sebenarnya, a fungsi utama komputer berasal dari bagaimana
3:03 kita memanipulasinya untuk memenuhi kebutuhan kita.
3:05 Sekarang,
3:06 pemrograman tidak sesederhana memberi instruksi teman Anda sejak di programmer
3:10 kasus, komputer tidak berbicara sama bahasa seperti Anda,
3:13 komputer hanya mengerti kode mesin,
3:15 yang merupakan bahasa numerik dikenal sebagai biner
3:17 yang dirancang sedemikian rupa sehingga file
3:19 komputer dapat dengan cepat membaca dan menjalankannya instruksinya.
3:22 Setiap instruksi diumpankan ke
3:24 komputer diubah menjadi string 1 dan 0 dan kemudian diinterpretasikan oleh
3:29 komputer untuk melaksanakan suatu tugas.
3:32 Kembali ke contoh lego,
3:33 proses ini akan seperti jika dia tidak hanya kurang cerdas,
3:36 tetapi untuk memperburuk keadaan,
3:38 dia tidak bisa mengerti bahasa Inggris dan
3:41 hanya berbicara dalam bahasa mandarin cina.
3:43 Untuk berbicara dengannya,
3:44 Anda harus pindah agama instruksi yang Anda pahami dalam bahasa Inggris
3:48 ke dalam bahasa yang dimengerti teman Anda.
3:50 Proses ini pada dasarnya adalah apa yang harus Anda lakukan
3:53 lakukan untuk komputer Anda agar dapat dipahami instruksi yang Anda berikan.
3:57 Perbedaan besar antara kedua contoh tersebut, Namun, apakah itu sangat sulit
4:02 orang untuk memahami kode mesin dan biner.
4:04 Menerjemahkan secara langsung apa yang Anda inginkan dari komputer
4:06 sangat sulit untuk dilakukan ke dalam kode mesin,
4:09 sebenarnya hampir tidak mungkin, dan akan memakan waktu
4:12 waktu yang sangat lama untuk dilakukan jika Anda bisa.
4:15 Setiap Program terdiri dari jutaan demi jutaan
4:17 dari 1 dan 0 tersebut, jadi bagaimana,
4:20 tepatnya, apakah kita harus menerjemahkan instruksi kita
4:22 menjadi kode mesin?
4:25 Di sinilah bahasa pemrograman masuk bermain.
4:27 Bahasa pemrograman pada dasarnya
4:29 perantara untuk menerjemahkan program ke dalam kode mesin.
4:33 Bahasa-bahasa ini jauh lebih mudah
4:34 bagi manusia untuk belajar daripada kode mesin,
4:37 dan dengan demikian sangat berguna bagi pemrogram.
4:39 Pergi kembali ke contoh lego kami,
4:41 bahasa pemrograman akan menjadi semacam penerjemah, itu
4:44 dapat mengambil instruksi yang Anda berikan kepada mereka dalam bahasa Inggris,
4:47 dan terjemahkan menjadi instruksi
4:48 teman Anda yang tidak berbahasa Inggris bisa mengerti.
4:51 Ini membuat bahasa pemrograman menjadi sangat luar biasa
4:53 berguna dan tulang punggung hampir semua kebaikan program.
4:56 Pikirkan bahasa pemrograman sebagai
4:58 bukan bahasa Inggris, dan bukan kode mesin,
5:01 tapi di suatu tempat di tengah-tengah.
5:03 Ada banyak bahasa pemrograman yang berbeda di
5:05 luar sana masing-masing memiliki keunikan tersendiri
5:07 penggunaan.
5:07 Bahasa seperti Python dan Java bertindak sebagai
5:10 bahasa tujuan umum yang dapat berfungsi
5:12 berbagai tugas komputasi, sedangkan RobotC atau HTML/ CSS adalah bahasa
5:16 yang dirancang untuk lebih banyak bahasa
5:18 tujuan tertentu seperti menggerakkan robot atau membangun situs web.
5:22 Bahasa juga bisa bervariasi dalam seberapa kuat mereka.
5:26 Misalnya, JavaScript adalah bahasa skrip
5:29 dirancang untuk tugas yang lebih kecil sementara java atau
5:32 python dapat melakukan lebih banyak pajak secara komputasi
5:34 proses.
5:35 Kami mengukur kekuatan bahasa pemrograman,
5:38 atau level, seberapa mirip dengan mesin
5:41 kode, rangkaian 0 dan 1 yang kita bicarakan tentang sebelumnya.
5:44 Bahasa pemrograman tingkat rendah
5:46 seperti assembly atau C lebih dekat ke biner
5:48 dari bahasa pemrograman tingkat tinggi seperti itu
5:51 sebagai Java atau python.
5:53 Ide dasarnya adalah semakin rendah levelnya bahasa pemrograman Anda,
5:57 semakin Anda kode akan menyerupai apa yang dapat
6:00 diinterpretasikan oleh mesin sebagai instruksi.
6:02 Selain dari perbedaan tujuan yang dipenuhi setiap bahasa,
6:05 memilih bahasa pemrograman biasanya turun
6:07 ke masalah preferensi,
6:08 seperti biasanya banyak bahasa yang menyelesaikan tugas serupa.
6:13 Cobalah bahasa yang berbeda, dan putuskan yang mana aturan,
6:16 antarmuka, dan tingkat penyederhanaan seseorang
6:17 kamu suka yang terbaik.
6:20 Jadi sekarang kita tahu apa itu pemrograman,
6:23 bagaimana caranya apakah kita benar-benar menulis kode?
6:25 Tidak seperti itu kita cukup mengetik kata-kata ke dalam
6:28 dokumen teks dan secara otomatis mengasumsikan bahwa komputer
6:30 dapat menerjemahkannya ke dalam kode mesin,
6:32 membacanya, dan melakukan tugas seperti membuka browser.
6:35 Dan sebagai tambahan, kita tidak bisa hanya menulis sampah
6:37 dalam bahasa pemrograman tertentu disebutkan
6:39 di episode sebelumnya dan mengharapkan komputer untuk mengerti.
6:41 Jadi bagaimana kita bisa menulis
6:43 kode kemudian?
6:44 Nah, jawabannya adalah dengan IDE.
6:46 IDE, yang singkatan dari Integrated Development Environment,
6:49 memungkinkan fasilitasi kode oleh komputer.
6:51 IDE menyediakan antarmuka grafis pada file
6:54 komputer di mana programmer dapat dengan mudah tulis,
6:56 jalankan, dan debug kode tanpa harus
6:58 khawatir tentang masalah kompilasi atau interpretasi program.
7:02 Pikirkan sebuah IDE sebagai program lain di komputer Anda seperti game,
7:05 browser, atau bahkan file
7:07 explorer, kecuali kami akan menggunakannya untuk menulis kode.
7:09 IDE dapat mengubah kode Anda menjadi
7:11 kode mesin dan menjalankannya melalui komputer untuk membuahkan hasil.
7:15 Selain menyediakan tempat bagi programmer untuk mengembangkan kode mereka,
7:18 IDE menyediakan beberapa
7:19 alat yang sangat berguna bagi pemrogram memudahkan pekerjaan menulis kode,
7:22 seperti built-in
7:23 pengecekan kesalahan karena seperti yang akan kita bicarakan kemudian;
7:25 kode tidak selalu berjalan dengan benar,
7:27 isi otomatis untuk kata yang sering digunakan atau frase,
7:30 dan hierarki proyek yang akan
7:31 membantu Anda mengatur dan memanipulasi file dalam proyek Anda.
7:35 Kembali di masa lalu,
7:36 sebelum IDE, kode digunakan untuk ditulis kartu punch dan
7:38 kemudian dimasukkan ke dalam komputer yang
7:40 akan memakan waktu berjam-jam dan menyebabkan banyak kesakitan.
7:42 IDE saat ini bertindak sebagai semacam jalur cepat
7:45 untuk menulis kode dan membuat semuanya
7:47 lebih banyak lebih mudah bagi programmer.
7:49 Contoh spesifik IDE dapat dilihat di layar Anda sekarang.
7:52 Dalam pusat Anda dapat melihat program yang saat ini
7:54 sedang ditulis, dan tepat di bawah konsol,
7:56 yang dapat mencetak informasi berguna untuk
7:58 programmer.
7:59 IDE khusus ini digunakan untuk menulis kode java.
8:02 IDE sangat luar biasa
8:04 kuat dan akan digunakan di hampir 100% proyek pemrograman Anda.
8:08 Jadi melalui IDE ini kami akhirnya bisa untuk
8:11 menulis dan mengkompilasi kode dengan lancar tanpa
8:12 mengkhawatirkan komputer tidak bisa untuk memahaminya.
8:15 Masalah selanjutnya kami jalankan
8:16 menjadi bagaimana kita menulis kode ini di IDE,
8:19 karena tidak seperti yang kami bisa
8:21 ketikkan saja kata-kata acak dari program tertentu
8:23 bahasa dan mengharapkan compiler untuk mengerti
8:25 Itu.
8:25 Di sinilah tempat bahasa pemrograman sintaks mulai berlaku.
8:29 Sekarang, seolah-olah Anda sedang mempelajari bahasa asli,
8:32 belajar bahasa komputer bisa sangat mirip.
8:35 Beberapa memiliki gaya berbeda yang mungkin tampak aneh,
8:37 beberapa mungkin membuat Anda menggunakan konsep abstrak atau aneh
8:40 yang mungkin membingungkan, dan seperti semua bahasa,
8:42 bahasa pemrograman memiliki seperangkat aturan
8:44 yang harus Anda ikuti saat menulis kode bahasa itu, dan di garis depan itu
8:48 aturan adalah tata bahasa.
8:50 Disebut tata bahasa pemrograman sebagai sintaks
8:52 dan sangat mirip dengan dunia nyata
8:54 tatabahasa.
8:55 Setiap bahasa pemrograman memiliki sintaks sendiri,
8:57 atau aturan, yang harus Anda ikuti
8:59 ke tee jika Anda ingin program Anda berjalan dengan benar,
9:02 seolah-olah Anda berbicara dalam kehidupan nyata.
9:04 Ini bisa berupa hal-hal seperti cara Anda mengetik fungsi tertentu,
9:06 apa yang Anda masukkan di akhir
9:08 baris kode, dan cara Anda menyiapkannya fungsi.
9:11 Setiap bahasa memiliki keunikan tersendiri
9:13 sintaks, dan sementara beberapa mungkin berbagi aturan yang sama,
9:16 semua akan memiliki kekhasan yang membuatnya menonjol
9:18 keluar dari yang lain.
9:19 Sintaks adalah sesuatu itu membuat banyak orang lengah, karena banyak
9:22 berharap setiap bahasa pemrograman mengikuti seperangkat aturan yang sama,
9:25 tetapi seperti yang kita bicarakan
9:27 di segmen terakhir,
9:28 karena masing-masing bahasa dikhususkan untuk tugas tertentu, setiap kebutuhan
9:31 seperangkat aturannya sendiri untuk berfungsi.
9:33 Pemecahan atau mengabaikan aturan ini akan berakibat
9:36 sebuah kesalahan, betapa merusak atau mengabaikannya aturan dalam kehidupan
9:39 nyata akan menghasilkan sesuatu yang tidak diinginkan
9:41 pesan.
9:43 Sebagai contoh.
9:43 Jika kami ingin melakukan sesuatu sederhana seperti menginisialisasi variabel,
9:46 yang adalah sesuatu yang belum kami bahas contohnya masih relevan.
9:50 Di Jawa, Anda akan
9:51 perhatikan kita harus menentukan jenis variabel apa
9:54 kita mendefinisikan dalam hal ini integer,
9:56 dan tambahkan juga titik koma setelah pernyataan.
9:58 Dalam python, kita bahkan tidak perlu mendefinisikan
10:00 bahwa kami mencoba membuat variabel dan hanya
10:03 perlu mengetik apa yang ingin kita buat,
10:05 dan di javascript, kami hanya menentukan kami membuat variabel,
10:08 tapi tidak memasukkan apa
10:09 jenis variabel yang ingin kita buat.
10:11 Bahkan dalam Contoh sederhana ini Anda dapat melihat berapa banyak sintaks
10:15 penting ketika mempelajari bahasa baru sejak
10:17 itu sementara tujuan program kami tetap
10:19 sama, tentukan integer dengan nilai tiga,
10:21 semua bahasa pemrograman yang ditampilkan membutuhkan waktu yang berbeda
10:25 pendekatan.
10:25 Semua bahasa ini membutuhkan itu Anda mengikuti sintaks ini karena ingat,
10:29 komputer sangat bodoh,
10:30 jika Anda lupa satu titik koma atau salah menempatkan karakter, seluruh program
10:35 tidak akan berjalan dan mengirim Anda kembali kesalahan sintaks,
10:38 yang akan kita bicarakan nanti.
10:40 Pikirkan ini seolah-olah Anda lupa tanda koma kalimat dan seluruh konteks apa
10:43 Anda mencoba untuk mengatakan salah tafsir.
10:46 Misalnya, dalam kalimat “ayo makan,
10:49 nenek".
10:49 Jika Anda lupa koma itu, meskipun mungkin tampak seperti kesalahan kecil, itu
10:53 mengubah seluruh konteks kalimat, membuatnya terdengar seperti Anda akan makan
10:56 nenekmu.
10:56 Aturan yang sama mengikuti untuk pemrograman,
10:59 jika Anda lupa titik koma, seluruh konteks
11:02 program Anda bisa rusak dan disalahartikan.
11:06 Sekarang hal lain yang membuat IDE sangat berguna adalah
11:08 bahwa mereka akan memberi tahu Anda jika dan kapan
11:10 ada kesalahan sintaks dalam kode Anda.
11:12 Sintaksis kesalahan tentu saja menjadi bagian dari kode Anda
11:15 yang tidak mengikuti aturan yang kita bicarakan sebelumnya.
11:17 IDE akan memberi tahu Anda di mana
11:20 kode Anda kesalahannya, dan juga tidak akan membiarkannya Anda menjalankan
11:22 program Anda sampai kesalahan telah terjadi
11:24 tetap.
11:24 Karena betapa pentingnya sintaks untuk menulis kode dan belajar bahasa baru,
11:29 Anda disarankan untuk mempelajari aturannya dan sintaks bahasa sebelum memulai
11:32 untuk menulis program kompleks dalam bahasa itu.
11:34 Sebagian besar aturan itu membosankan untuk dipelajari, tetapi
11:37 mudah dikuasai dan segera setelah Anda bisa melakukannya,
11:39 Anda akan dapat dengan mudah mengidentifikasi sintaks
11:41 kesalahan dan merawatnya dengan mudah.
11:45 Itu mencakup inti dasar sintaksis dan pemrograman aturan,
11:47 jadi sekarang kita tahu BAGAIMANA menulis kode,
11:49 dan DI MANA untuk menulis kode,
11:50 selanjutnya kita perlu membahasnya apa yang
11:52 terjadi setelah kita mengetik program kita
11:53 dan jalankan kode kami.
11:54 Karena menulis sebuah karya kode untuk game atau untuk database itu keren
11:57 dan semua, tapi setelah komputer menafsirkan program,
11:59 bagaimana kita tahu apa yang terjadi,
12:01 dan apakah itu berfungsi atau tidak?
12:03 Nah, programmer lakukan ini dengan melihat konsol.
12:05 Konsol adalah antarmuka teks di dalam komputer itu kami
12:08 pemrogram dapat menggunakan untuk berbagai hal yang berbeda
12:10 tujuan.
12:10 Jika Anda ingat,
12:11 beberapa saat yang lalu kami menunjukkan gambar IDE dasar, dan satu
12:15 bagian utama dari gambar itu adalah menghibur.
12:18 Kegunaan utama konsol adalah untuk mengeluarkan teks dari program.
12:21 Ini biasanya dilakukan dengan menggunakan
12:23 pernyataan cetak.
12:24 Pernyataan cetak adalah a perintah yang persis seperti namanya:
12:27 itu mencetak teks ke konsol.
12:28 Cetakan ini pernyataan adalah bagian pertama dari KODE AKTUAL
12:31 yang telah kita bicarakan di seri ini, dan itu tentang sesederhana mungkin.
12:34 Pernyataan cetak, meskipun kesederhanaannya,
12:36 adalah salah satu yang paling banyak fungsi penting dalam pemrograman dan ada
12:39 dalam beberapa bentuk di hampir setiap pemrograman bahasa.
12:41 Hal paling mendasar yang bisa Anda tanyakan pada
12:44 cetakan pernyataan yang harus dilakukan hanyalah membuatnya mengatakan
12:46 sesuatu.
12:46 Ini dilakukan dengan menginstruksikan konsol untuk mencetak,
12:48 dan kemudian masukkan apa saja
12:50 Anda ingin dicetak di dalam tanda kurung.
12:53 Misalnya, di python, segmen kode
12:55 print ("Hello World") akan memunculkan pesan
12:57 membaca "halo dunia" untuk muncul di
13:00 menghibur.
13:00 Cukup rapi.
13:01 Pernyataan cetak juga penting untuk dilihat
13:04 dan menafsirkan keluaran komputer dari
13:05 sebuah program.
13:06 Misalnya,
13:06 jika Anda memberi tahu komputer untuk menjalankan penghitungan sederhana,
13:10 misalnya untuk menentukan 4+ 3,
13:12 itu akan menjalankan program secara internal dan menghitung jawabannya.
13:16 Namun,
13:16 apa tujuan memiliki file komputer menjalankan program ini jika Anda tidak mau
13:19 bisa tahu apa hasilnya?
13:20 Sebagai gantinya hanya memberi tahu komputer untuk melakukan
13:22 perhitungan ini, perintahkan komputer untuk mencetak output program ke konsol,
13:26 dan setelah program selesai, 7 akan muncul di konsol.
13:29 Seperti yang Anda lihat, file
13:30 konsol memungkinkan kita untuk dengan mudah mencetak
13:32 informasi kepada pengembang untuk berbagai kegunaan.
13:34 Penting untuk dicatat bahwa pernyataan cetak
13:36 bervariasi tergantung pada bahasa pemrograman
13:37 sedang digunakan.
13:38 Misalnya di Jawa ada beberapa versi pernyataan cetak tergantung
13:42 tentang apakah Anda ingin jeda baris setelahnya teks tercetak,
13:45 dan pernyataan cetak khusus
13:46 yang membuat kode Anda lebih efisien.
13:49 Juga, sintaks umum menggunakan pernyataan cetak
13:51 dan nuansa tertentu dari fungsinya bisa berubah antar bahasa.
13:54 Namun, biasanya Anda bisa
13:55 mengandalkannya untuk menjalankan fungsi keseluruhan yang sama,
13:58 karena ini adalah pernyataan dasar untuk pemrograman
14:00 secara umum.
14:00 Jadi cetak pernyataan, mereka cetak informasi ke konsol untuk pengembang
14:02 untuk digunakan, bagus.
14:03 Semua fungsinya membuat pernyataan cetak,
14:04 bersama dengan konsol, pengembang yang sangat berguna
14:06 alat.
14:06 Namun, penting untuk diingat itu saja: alat pengembang.
14:11 Konsol tidak dimaksudkan untuk dilihat oleh pengguna akhir program Anda.
14:14 Itu cenderung untuk disembunyikan di balik layar,
14:16 dan lainnya metode menampilkan informasi seperti
14:18 menampilkan teks, grafik,
14:20 atau gambar digunakan untuk menyampaikan informasi kepada pengguna.
14:23 Pikirkan seperti ini, saat Anda menggunakan ponsel Anda,
14:25 Anda tidak melihat konsol di salah satu dari
14:27 program yang Anda gunakan.
14:28 Jadi selagi bisa pakai konsol untuk memberi Anda informasi tentang
14:30 bagaimana kinerja program Anda,
14:31 jangan coba-coba untuk menerapkannya dalam produk akhir karena
14:34 itu pada dasarnya tidak dimaksudkan untuk itu.
14:36 Secara keseluruhan, ingatlah untuk menggunakan konsol itu
14:38 sepenuhnya saat menulis dan memperbaiki masalah dalam program Anda,
14:41 karena ini adalah alat yang hebat untuk
14:43 gunakan untuk mengetahui bagaimana kinerja program Anda di balik layar.
14:48 Jadi sekarang kita tahu banyak informasi tentang
14:50 bahasa pemrograman dan bagaimana dan dimana
14:52 untuk menuliskannya,
14:52 bersama dengan pernyataan cetak di bawah ikat pinggang kita,
14:55 mari kita membahas beberapa intuitif
14:56 hal-hal yang dapat dilakukan komputer dengan sendirinya,
14:58 tanpa Anda harus memberi tahu caranya.
15:00 Lebih secara khusus,
15:01 kami akan membahas nomor dasar matematika serta matematika string
15:05 Dimulai dengan matematika dasar,
15:07 komputer sudah tahu bagaimana melakukan aritmatika sederhana.
15:10 Ini termasuk penambahan, pengurangan, perkalian, dan divisi, semuanya terwakili
15:15 dengan simbol yang ditampilkan di layar sekarang.
15:16 Di IDE apa pun yang mungkin Anda instal, Anda akan mendapatkannya
15:19 mampu mencetak jawaban matematika sederhana
15:21 masalah menggunakan pernyataan cetak,
15:22 yang mungkin tampak kontra-intuitif karena mengapa Anda menggunakan
15:25 komputer untuk mengerjakan matematika saat Anda punya
15:26 kalkulator yang sangat bagus di ponsel Anda,
15:29 tetapi Anda harus ingat bahwa komputer adalah
15:31 bodoh,
15:31 dan apa pun yang kita ingin komputer lakukan kita harus membangun dari awal.
15:36 Aritmatika dasar, sementara sederhana,
15:37 membantu di hampir semua program Anda boleh menulis.
15:40 Misalnya, jika kita mau
15:42 membangun aplikasi kalkulator dasar,
15:43 yang kami perlukan untuk memanfaatkan fungsi ini agar
15:46 menampilkan dengan benar jawaban aritmatika masalah
15:49 ketika pengguna kami mencoba menambah,
15:51 mengurangi, mengalikan, atau membagi dua angka.
15:54 Sekarang selain 4 persamaan matematika dasar,
15:57 kebanyakan bahasa pemrograman menyertakan tambahan
15:59 operator yang dikenal sebagai modulus.
16:00 Jika ini milik Anda pertama kali mendengar kata ini, jangan khawatir,
16:04 karena biasanya tidak diajarkan di kelas matematika.
16:06 Modulus memungkinkan kita untuk mendapatkan sisanya
16:08 operasi divisi.
16:09 Misalnya saat kami mengambil 10 modulus 3, kami pada dasarnya memberi tahu
16:14 komputer untuk mengambil 10, bagi dengan 3,
16:16 abaikan jawaban sebenarnya dan beri kami sisanya
16:19 operasi itu dalam hal ini 1,
16:21 sejak kapan kita bagi 10 dengan 3, jawabannya adalah 3 sisanya
16:25 1.
16:25 Angka 1 dalam hal ini adalah yang dicetak keluar ke konsol.
16:30 Jika tidak ada sisa,
16:32 katakanlah jika kita mengambil 50 modulus 2,
16:35 karena sisanya adalah 0, fungsinya akan
16:37 kembalikan 0 jika kita mencetaknya.
16:41 Ini bisa sangat berguna dalam banyak kasus,
16:43 yang paling jelas jika kita ingin menentukan
16:45 apakah bilangan bulat tertentu genap atau aneh.
16:48 Jika kita mengambil modulus bilangan tertentu 2
16:52 dan mengembalikan 0, lalu kita tahu itu genap sejak itu bilangan
16:55 genap apa pun dibagi 2 akan selalu dihasilkan
16:57 dalam jawaban lengkap tanpa sisa,
16:59 tapi jika sistem mengembalikan 1, maka kita tahu itu
17:02 bilangan bulatnya ganjil.
17:03 Anda akan menemukan diri Anda sendiri
17:05 lebih banyak menggunakan operator matematika dasar
17:07 daripada yang Anda pikirkan,
17:08 jadi bagus untuk menyimpannya dalam pikiran saat menulis program Anda.
17:11 Sekarang komputer kita dapat bekerja dengan angka, seperti serta Strings.
17:15 String adalah hal lain
17:17 cara untuk mengatakan teks.
17:19 Misalnya, “halo dunia "adalah string, Huruf" a "adalah
17:22 string, apa pun yang diapit oleh tanda kutip
17:25 dilambangkan sebagai String dalam bahasa pemrograman.
17:27 Kami akan membahas lebih banyak tentang Strings
17:29 sebentar lagi ketika kita berbicara tentang variabel,
17:31 tapi untuk saat ini
17:32 Ayo lanjutkan.
17:32 Kami sudah membicarakannya mencetak string ke konsol, tapi mari
17:36 mengatakan kami sedang membuat game,
17:37 dan kami menginginkannya cetak pernyataan itu"
17:39 “Game over, 4 adalah skor akhir Anda”.
17:41 Sekarang sementara kita bisa membuat string itu
17:44 mengatakan frasa yang sama persis dan mencetaknya ke konsol,
17:47 dalam beberapa kasus akan lebih
17:48 berguna untuk mencetak nilai integer yang sebenarnya,
17:50 terutama dalam kasus game di mana ekstensi
17:52 skor dapat berubah setiap kali Anda bermain,
17:54 karena skor pasti tidak akan selalu demikian
17:57 4.
17:57 Nah, kita juga bisa mencetak banyak string teks,
18:00 dan bahkan bilangan bulat dengan "menambahkan"
18:03 mereka bersama dalam pernyataan cetak.
18:06 Ini disebut penggabungan.
18:08 Melanjutkan contoh skor kami.
18:09 Jika kita mau untuk mencetak pernyataan “Game over, 4
18:12 adalah skor akhir Anda”,
18:14 menggunakan 4 sebagai bilangan bulat daripada seutas tali,
18:16 kita bisa melakukannya dengan
18:17 memecah pernyataan menjadi dua string dan integer seperti itu.
18:21 Cetak ("Game over,"+ 4+ "adalah milik Anda hasil akhir)
18:27 Kami tentu saja mulai dengan pernyataan cetak,
18:31 yang akan berbeda di semua bahasa.
18:34 Di dalam pernyataan cetak kami memulai mencetak string "Game over,".
18:38 Sekarang inilah bagian penting, dari sana,
18:41 kami menggunakan tanda plus dan menambahkan 4 ke cetakan
18:44 pernyataan, seperti jika Anda menambahkan dua nomor.
18:46 Kemudian, kita dapat mengulangi proses ini
18:48 dengan tanda+ lain untuk string terakhir “was
18:51 skor akhir Anda ”dan kami dapat mencetaknya
18:54 keluar keseluruhan pernyataan kami dengan mudah.
18:56 Dengan melakukan ini, kita dapat dengan mudah mencetak banyak
18:59 string dan integer yang berbeda menjadi satu satu pernyataan cetak.
19:03 Kita juga bisa menggabungkan dua pelajaran yang kita punya
19:05 belajar sejauh ini dan melakukan sesuatu seperti “Game
19:08 di atas,“+ (4+ 4)+“ adalah skor akhir Anda”,
19:11 dalam kasus ini katakanlah di mana kita memiliki permainan
19:14 yang memberi Anda skor dasar,
19:16 lalu 4 poin untuk tugas tertentu yang Anda selesaikan.
19:19 Demonstrasi ini juga menampilkan bagian penting lainnya dari pemrograman,
19:22 yang seringkali untuk mendapatkan program Anda
19:24 untuk menjadi yang paling efisien, Anda harus menggabungkan aspek kode.
19:28 Sekarang penting untuk dicatat bahwa komputer akan mengambil apa
19:30 pun yang Anda masukkan ke dalam tanda kurung
19:32 dan mencetaknya karakter untuk karakter,
19:34 jadi seringkali programmer lupa menambahkan
19:36 spasi di ujung string mereka.
19:38 Ini dapat mengakibatkan kesalahan kecil di mana
19:41 string dari contoh sebelumnya akan dicetak keluar seolah mengatakan
19:44 “Game over,
19:44 4 adalah skor akhirmu” yang mana Bukankah itu menarik saat ditampilkan di layar
19:48 kepada pengguna, jadi praktik yang baik untuk selalu melakukannya
19:51 beri spasi setelah dan sebelum string Anda
19:53 untuk memastikan ini tidak terjadi, dan file string tidak berakhir seperti ini.
19:58 Hal penting lainnya yang perlu diperhatikan adalah perbedaannya
20:00 antara "4" di tanda kutip dan 4 tanpa
20:03 tanda kutip.
20:04 Sekarang kutipan "4" tanda diperlakukan sebagai string daripada a
20:09 4 tanpa tanda kutip yang diberi perlakuan sebagai angka.
20:12 Ini mungkin tidak terlihat besar
20:14 kesepakatan, tapi sekali lagi komputer bodoh,
20:16 dan jika Anda mencoba melakukan matematika dengan angka dalam kutipan
20:19 menandai itu akan mengembalikan kesalahan,
20:21 karena komputer tidak memahami bahwa Anda
20:23 mencoba untuk melakukan operasi pada nomor,
20:24 dan ia mengira Anda mencoba menambahkan bilangan bulat
20:27 ke string, yang merupakan larangan besar dalam pemrograman.
20:30 Jadi ketika Anda memprogram pastikan untuk membuatnya
20:33 catatan mental apakah Anda mau atau tidak membuat sesuatu menjadi integer,
20:36 atau string, karena hal semacam itu membuat perbedaan besar.
20:40 Baiklah, itu menyimpulkan segmen kita di
20:42 kekuatan dasar komputer.
20:45 Sekarang selanjutnya kita akan membahas satu komponen terpenting komputer
20:48 ilmu pengetahuan,
20:48 jadi pastikan Anda memperhatikan karena selanjutnya kita akan membahas variabel,
20:52 apa itu, dan bagaimana kita menggunakannya.
20:55 Pertama-tama, apa sebenarnya variabel itu?
20:57 Variabel hanyalah sesuatu yang dapat disimpan
20:59 informasi dan dapat direferensikan dan dimanipulasi.
21:02 Pikirkan variabel seperti kotak karton.
21:04 Kardus kotak berfungsi sebagai sarana untuk menyimpan
21:07 barang-barang di dalamnya yang dapat diubah,
21:09 diganti, dan dimodifikasi.
21:10 Variabel seperti kotak karton yang
21:12 menyimpan informasi untuk referensi programmer,
21:14 memanipulasi, dan merujuk ke.
21:15 Setiap variabel secara sederhana memiliki tipe, nama, dan sepotong informasi
21:18 disimpan di dalamnya.
21:19 Jenis dan potongan informasi akan dibahas selanjutnya dan nama
21:22 hanyalah nama untuk variabel, pikirkan itu seperti menuliskan label di karton
21:26 kotak di tajam.
21:27 Sekarang, ada banyak jenis variabel yang bisa digunakan programmer,
21:31 tapi sekarang kita hanya akan menutupi apa yang disebut "primitif variabel",
21:35 yang meliputi bilangan bulat, boolean,
21:36 mengapung dan ganda, string, dan karakter.
21:40 Kami akan mulai berbicara tentang Integer.
21:43 Integer, atau singkatnya int, itu sederhana
21:46 kedengarannya: variabel yang dapat menyimpan file nilai integer.
21:49 Ini mencakup semua bilangan bulat
21:51 dari -2.147.483.648 menjadi 2.147.483.648.
21:55 Sekarang perhatikan bagaimana saya mengatakan bilangan bulat, variabel integer
22:04 TIDAK BISA dan TIDAK AKAN memiliki nilai desimal apa pun,
22:07 jadi ingatlah itu saat menggunakan variabel.
22:09 Kedua adalah boolean.
22:10 Boolean sangat variabel primitif yang dapat menyimpan nilai
22:13 benar atau salah.
22:14 Variabel Boolean HANYA dapat menampung dua nilai ini, dan sangat ekstrim
22:19 berguna untuk pernyataan bersyarat, yang kami akan segera dibahas.
22:22 Dua jenis variabel berikutnya adalah float dan ganda.
22:25 Kedua jenis variabel ini
22:26 adalah tipe data floating point,
22:28 yang pada dasarnya Berarti variabel tersebut dapat menyimpan angka
22:30 dengan tempat desimal.
22:31 Sedangkan nilai integer tidak dapat menampung nilai desimal, float dan double
22:36 bisa.
22:36 Perbedaan utama antara keduanya adalah yang
22:38 dapat disimpan variabel float dalam jumlah
22:40 presisi hingga 32 bit,
22:42 sedangkan kaleng ganda menyimpan nomor dengan presisi hingga 64-bit.
22:45 Pada dasarnya,
22:46 tanda ganda dapat menyimpan lebih banyak desimal tempat daripada pelampung,
22:49 jadi semuanya turun seberapa tepat variabel yang Anda inginkan.
22:52 Selanjutnya kita memiliki variabel string,
22:53 yaitu seperti string yang sebenarnya kita bicarakan
22:55 sebelumnya kecuali disimpan di suatu tempat dalam suatu nilai.
22:59 Variabel string dapat menyimpan string huruf,
23:01 yang hanya berupa kata-kata dan kalimat.
23:03 String berguna untuk menampilkan teks dan menyimpan
23:05 masukan informasi.
23:05 String juga bisa digabungkan bersama-sama
23:07 untuk membentuk kombinasi variabel string
23:09 dan string yang telah ditulis sebelumnya.
23:11 Ini sangat berguna untuk mengeluarkan informasi dalam format yang dapat dibaca
23:14 untuk pengguna.
23:14 Misalnya, bayangkan kita memiliki string yang disebut "nama".
23:17 Kode meminta masukan, dan menyimpan string itu teks dalam nama.
23:20 Untuk menampilkan informasi ini ke
23:22 pengguna, bukan hanya menampilkan file nama,
23:24 Anda dapat menambahkan frase "Nama Anda
23:25 is: "dan menjadikannya kalimat dengan menggabungkan
23:28 “Nama Anda adalah:”+ nama+“.” Ini
23:31 membuatnya lebih mudah untuk membaca kode Anda,
23:33 sekaligus menambahkan variabilitas ke kode Anda, yang selalu
23:36 membuat segalanya lebih menarik untuk akhir pengguna.
23:38 Akhirnya, kami memiliki variabel char.
23:40 Char berdiri untuk karakter, dan seperti namanya,
23:43 mereka masing-masing dapat memiliki satu karakter.
23:45 Ini adalah berguna ketika seorang programmer ingin membacanya
23:47 tekan tombol atau satu karakter dalam string tanpa menggunakan variabel string.
23:51 Spesifik Contohnya adalah membuat game yang dikendalikan oleh keyboard.
23:54 Program perlu mengenali karakter yang ditekan,
23:56 dan terjemahkan yang menjalankan beberapa fungsi.
23:59 Sekarang string juga bisa menampung satu karakter,
24:01 tetapi karakter tidak bisa menampung lebih dari satu karakter jadi pertahankan
24:03 yang diingat saat mendefinisikan variabel.
24:05 Sekarang, mengapa variabel sangat berguna?
24:07 Nah, menjadi mampu menyimpan informasi dalam format itu
24:10 dapat dengan mudah direferensikan nanti adalah penting untuk program yang bagus.
24:14 Seringkali dalam kode Anda
24:15 akan ingin melacak hal-hal seperti itu sebagai nama atau skor pengguna,
24:18 dan seterusnya dengan membuat
24:19 variabel yang disebut "nama" atau "skor" Anda
24:21 dapat menyimpan informasi ini di variabel itu
24:23 dan kemudian mereferensikannya, menambahnya, atau memodifikasi Itu.
24:25 Juga, sering kali, program akan melakukannya
24:27 untuk mengambil masukan dari pengguna,
24:28 yang tidak bisa diprogram sebelumnya ke dalam kode, dan dengan demikian
24:31 variabel diperlukan untuk menyimpan informasi.
24:32 Suatu program mungkin juga bergantung pada faktor-faktor yang akan melakukannya
24:35 berubah seiring berjalannya program,
24:36 di mana kasus variabel sekali lagi diperlukan.
24:39 Juga, mengambil variabel ini dan memanipulasinya
24:41 sangat diperlukan untuk melakukan banyak
24:43 tugas yang Anda ingin program lakukan, misalnya mengalikan variabel int atau
24:47 menggabungkan variabel string.
24:48 Variabel keseluruhan adalah tulang punggung dari
24:50 program yang bagus dan Anda akan
24:52 temukan diri Anda sering menggunakannya jika Anda
24:53 mau kode yang bersih dan efisien,
24:55 jadi yang terbaik
24:56 Anda mempelajari jenis variabel yang Anda butuhkan untuk digunakan dan kapan.
24:59 Jadi sekarang kita tahu semua tentang perbedaan
25:00 jenis variabel dan kita telah membicarakannya
25:02 sedikit, sekarang kita akan mempelajari lebih jauh ke dalam
25:04 apa yang terjadi ketika kita benar-benar mendefinisikan
25:06 atau buat, variabel, bagaimana kita mereferensikannya,
25:08 dan bagaimana kita dapat memanipulasinya untuk program kita.
25:12 Untuk memulai,
25:12 mari kita bahas apa yang terjadi kapan kami mendefinisikan variabel.
25:15 Sekarang ketika kita menulis file
25:16 baris kode yang menginisialisasi variabel,
25:18 dan kode itu dijalankan, pada dasarnya komputer
25:21 menciptakan sedikit ruang di memori yang menyimpan
25:24 nama variabel Anda dan isinya sehingga
25:26 itu bisa dirujuk nanti.
25:28 Kembali ke contoh kotak kardus kami.
25:30 Pikirkan ini sebagai jika Anda memiliki fasilitas penyimpanan,
25:34 dan Anda membuatnya kotak karton baru, berlabel "Nama" dan
25:37 di dalamnya Anda menaruh selembar kertas kata "NullPointerException" di atasnya.
25:42 Sekarang, kapan pun Anda ingin tahu isinya kotak nama Anda,
25:45 Anda cukup melihat ke dalam
25:46 dan melihat isinya "NullPointerException".
25:49 Inilah yang dilakukan komputer, kecuali
25:52 fasilitas penyimpanan adalah memori, kotaknya adalah variabel,
25:56 dan isi kotaknya adalah apa saja
25:59 variabel diatur menjadi sama dengan.
26:01 Kapanpun Anda ingin mengetahui isi variabel nama,
26:04 Anda cukup menyebutnya dan komputer akan melakukannya
26:07 tarik informasi yang disimpan di dalamnya
26:09 variabel dan gunakan bagaimana pengguna melihat cocok.
26:13 Hal lain yang perlu diperhatikan dengan sangat cepat adalah
26:15 itu Anda benar-benar dapat membuat variabel tanpa meletakkan
26:17 informasi di dalamnya.
26:18 Ini akan menjadi seperti jika Anda membuat kotak karton baru, berikan
26:22 itu label dengan tajam, tapi tidak letakkan informasi di dalamnya.
26:26 Anda sederhana menghemat ruang di gudang Anda untuk nanti.
26:30 Ini bisa jadi karena Anda ingin menyimpan informasi
26:33 di dalamnya nanti di jalan,
26:35 atau jika Anda akan menggunakannya untuk menyimpan informasi yang diberikan
26:37 kepada Anda oleh pengguna,
26:38 dalam hal ini Anda TIDAK BISA berikan informasi karena Anda tidak tahu
26:41 apa yang akan dimasukkan pengguna.
26:43 Perhatikan saja jika Anda mencoba untuk mereferensikan,
26:46 atau menunjuk, ke variabel
26:47 yang tidak memiliki informasi apapun di dalamnya,
26:49 Anda akan mendapatkan apa yang dikenal sebagai NullPointerException,
26:52 yang meskipun merupakan nama yang luar biasa untuk a Saluran YouTube,
26:54 adalah sesuatu yang biasa Anda lakukan
26:55 ingin menghindari saat pemrograman.
26:57 Sekarang, bahasa pemrograman memungkinkan kita melakukannya beberapa hal
27:00 yang cukup keren dengan "kotak" ini
27:01 yang kami buat.
27:03 Misalnya, mari katakanlah kita membuat variabel kedua "channelName"
27:07 dan alih-alih menyetelnya ke "NullPointerException",
27:09 kami malah mengaturnya sama dengan yang sudah kami buat
27:12 Variabel "Nama".
27:13 Ini tidak menciptakan ruang dalam memori untuk variabel baru ini; namun,
27:18 itu hanya menunjuk ke lokasi memori yang sama kami telah membuat untuk "Nama"
27:23 variabel.
27:23 Kembali ke fasilitas penyimpanan kami Misalnya, ini ingin jika alih-alih membuat
27:27 kotak baru berlabel "channelName" dan menyimpan selembar kertas dengan kata
27:31 “NullPointerException” di atasnya,
27:33 kami sebagai gantinya cukup menambahkan label lain di bawah "Nama"
27:37 kotak, berjudul "channelName".
27:38 Sekarang kita punya dua variabel tetapi keduanya mengarah ke arah yang sama
27:43 konten, yang menjadi string "NullPointerException".
27:44 Kami biasanya melakukan ini untuk menghemat ruang dalam kode kami
27:48 untuk hal-hal yang kita tahu akan kita miliki nilai yang sama.
27:52 Variabel juga dapat diperbarui di seluruh file kode.
27:55 Misalnya, Anda memiliki "Usia"
27:56 variabel, dan di dalamnya adalah bilangan bulat 17.
27:59 Kemudian Anda merayakan ulang tahun dan menginginkannya
28:02 untuk memperbarui usia Anda.
28:03 Yang harus Anda lakukan adalah mereferensikan variabel,
28:05 dan mengaturnya sama dengan
28:06 apa pun bilangan bulat baru yang Anda inginkan variabelnya untuk menahan,
28:09 dalam hal ini 18.
28:11 Ini akan menjadi sama seperti memiliki kotak berlabel usia,
28:13 dengan selembar kertas kertas membaca 17 di dalamnya, dan kemudian
28:16 mengambil selembar kertas itu, menghapus 17,
28:19 menggantinya dengan 18, lalu menempatkannya
28:22 kembali ke dalam kotak.
28:23 Dengan melakukan ini,
28:24 kami mampu untuk memperbarui konten variabel kami dengan mudah
28:27 di seluruh kode sebagai sesuatu yang dinamis bergeser.
28:29 Sebagai contoh lain, jika Anda sedang membuat
28:31 RPG, karakter Anda kemungkinan besar memiliki statistik seperti serangan,
28:36 pertahanan, mana, dll permainan berkembang Anda dapat terus memperbarui
28:40 variabel sehingga pemain bisa mendapatkan
28:42 semakin kuat semakin jauh mereka melewati permainan,
28:44 dan Anda tidak akan melakukannya
28:46 harus membuat variabel baru.
28:47 Anda akan melakukannya hanya perlu terus mengambil kotak itu
28:50 fasilitas penyimpanan Anda,
28:51 menghapus dan mengganti nomor di selembar kertas, dan kemudian
28:55 lanjutkan dengan kode Anda.
28:56 Tetap masuk Ingatlah bahwa variabel-variabel ini tidak lebih
28:59 daripada tempat-tempat di memori yang memiliki nilai tertentu disimpan,
29:02 sehingga kami dapat dengan mudah memperbarui nomor,
29:04 dan tempat mereka akan tetap konstan.
29:06 Setelah sebuah kode telah berjalan dengan sendirinya, tempatnya di memori
29:09 dihapus sampai Anda menjalankan kode lagi dan
29:11 program ini mendedikasikan ruang untuk variabel
29:13 lagi.
29:13 Setiap kali Anda menjalankan kode,
29:15 Anda membuat kotak baru di fasilitas penyimpanan Anda,
29:18 dan di akhir kode Anda,
29:20 Anda menghancurkannya semua untuk memberi ruang bagi kotak baru lain kali.
29:23 Hal keren lainnya yang dapat Anda lakukan dengan variabel adalah menambahkannya,
29:28 menguranginya, mengalikannya, bagi mereka, dan bahkan modulus mereka.
29:30 Sekarang ini kebanyakan hanya bekerja untuk variabel integer sebagai
29:32 mengalikan dan membagi string tidak masuk akal.
29:33 Tetapi jika Anda membuatnya
29:33 aplikasi kalkulator dan Anda menyimpan yang pertama
29:36 nomor yang dimasukkan pengguna sebagai num1,
29:38 dan yang kedua sebagai num2.
29:39 Anda kemudian bisa mengalikan num1 dan num2 bersama-sama,
29:43 dan mencetaknya, atau menyimpan
29:45 mereka dalam variabel baru yang berjudul result.
29:47 Kemudian, setiap kali Anda menjalankan program, pengguna bisa
29:50 masukan bilangan baru ke dalam variabel num1 dan num2,
29:53 dan mereka hanya akan diatur ke yang baru
29:55 bilangan bulat dan mengembalikan hasil yang sesuai ke nomor tertentu.
30:01 Ini memungkinkan Anda agar mudah melacak nomor yang mana
30:04 yang mana dan apa yang terjadi dalam program Anda
30:07 yang sangat berguna.
30:08 Juga saat kamu tidak bisa mengurangi, mengalikan, membagi, atau mengambil
30:12 modulus string, Anda dapat menambahkan mereka.
30:16 Katakanlah Anda memiliki string Str1 dengan
30:19 isinya “Hello” dan Str2 with isinya “disana”.
30:23 Anda bisa menambahkan Str1
30:26 dan Str2 untuk membuat string yang memiliki isinya “Halo yang disana”,
30:29 baik menyimpannya dalam file
30:31 variabel ketiga atau mencetaknya ke konsol.
30:34 Topik terakhir yang akan kita bahas di topik variabel adalah konvensi penamaan
30:38 variabel, yang meskipun mungkin tampak aneh, tapi sangat penting saat mencobanya
30:43 baca kode Anda jadi kami akan membahasnya sekarang.
30:46 Sekarang, variabel harus menjadi satu string kontinu,
30:49 dan jadi jika Anda ingin membuat variabel itu menyimpan skor pemain,
30:52 Anda harus menemukannya beberapa cara untuk menggabungkan kata pemain dan skor,
30:55 karena Anda tidak bisa memiliki frase “pemain
30:58 score ”menjadi nama variabel.
30:59 Semua programmer memiliki preferensi pribadi mereka sendiri saat itu
31:02 datang ke penamaan variabel,
31:03 tapi yang kita yang akan digunakan dalam kuliah ini disebut CamelCase,
31:07 yang merupakan proses tidak memanfaatkan file kata pertama,
31:10 tetapi memanfaatkan setiap kata itu
31:11 mengikutinya.
31:12 Kembali ke skor pemain Misalnya, menggunakan metode camelCase, variabel
31:17 akan disebut playerScore.
31:19 Ini memungkinkan kita untuk dengan mudah
31:21 mengidentifikasi setiap kata dan menjadi benar-benar
31:23 berguna untuk nama variabel
31:25 yang panjang seperti thePlayersScoreBeforeFinalBoss”,
31:27 sedangkan jika kita hanya mengetiknya tanpa huruf besar,
31:31 itu akan sangat membingungkan.
31:33 Ini akan membantu satu ton ketika Anda mulai menemukan bug di file
31:38 kode dan perlu memindai program Anda dengan
31:40 cepat untuk mencari tahu apa yang salah,
31:42 dan menambahkan keterbacaan program secara keseluruhan.
31:44 Lain programmer mungkin menggunakan konvensi penamaan yang berbeda
31:48 seperti menggunakan garis bawah untuk memisahkan kata dalam frase,
31:51 tapi untuk saat ini kami akan menempel
31:53 dengan camelCase.
31:54 Selanjutnya, kita akan beralih ke kondisional pernyataan,
31:57 yang pada intinya adalah pernyataan
32:00 yang mengubah jalur kode kita tergantung pada kondisi tertentu.
32:03 Demi menjaga hal-hal sederhana, untuk bagian ini,
32:05 garis merah akan berkonotasi bahwa kode kita TIDAK akan mengikuti
32:07 jalur spesifik itu,
32:08 dan garis hijau artinya bahwa kode kami IS mengikuti jalan itu.
32:12 Jenis utama dari pernyataan bersyarat itu
32:14 programmer gunakan adalah pernyataan if,
32:16 dan ini akan muncul berkali-kali dalam program apa pun yang Anda tulis.
32:21 Ini sesederhana kedengarannya: jika suatu kondisi benar,
32:24 dan biasanya kondisinya akan ditutup oleh
32:27 kawat gigi,
32:28 kemudian lakukan instruksi yang ada dalam tanda kurung jika pernyataan itu.
32:32 Lain, lakukan hal lain.
32:34 Sekarang, tanda kurung digunakan di sebagian besar pemrograman
32:36 bahasa untuk menunjukkan segmen kode yang akan berlari.
32:40 Ia bekerja seperti ini, jika kondisinya
32:42 dalam tanda kurung benar,
32:43 maka semua kode yang terkandung dalam tanda kurung akan berjalan, dan
32:47 jika kondisi dalam tanda kurung TIDAK benar,
32:49 maka itu akan melewati semua pernyataan
32:51 di dalam tanda kurung.
32:53 Catatan singkatnya adalah itu sementara ini
32:55 terjadi pada sebagian besar pemrograman
32:56 bahasa, beberapa; seperti Python,
32:57 gunakan titik dua dan ruang putih untuk menentukan di mana sepotong
33:01 kode dimulai dan diakhiri, tetapi demi seri ini,
33:04 kami akan menggunakan tanda kurung kurawal.
33:07 Sekarang,
33:07 kondisi di dalam kurung dapat mengambil ribuan bentuk yang berbeda seperti itu
33:12 seolah-olah nilai variabel string Name sama
33:15 dengan "Steven" atau jika skor pemain,
33:17 disimpan dalam variabel int, lebih besar dari 5, daftarnya terus bertambah.
33:22 Masing-masing pernyataan dievaluasi sebagai boolean,
33:24 yang Anda akan ingat ketika kita membicarakannya
33:26 variabel bisa benar atau salah.
33:29 Jika boolean benar, kami menjalankan kode di dalam
33:32 kawat gigi keriting, jika tidak,
33:34 kami menganggap segalanya di dalam kurung kurawal tidak pernah ada dan
33:38 lanjutkan dengan kode kami.
33:40 Pernyataan if dilengkapi dengan dua tambahan
33:42 lagi pernyataan yang bisa menyertainya:
33:44 else if dan lain.
33:45 Lain jika pernyataan kondisional digunakan langsung setelah pernyataan if,
33:49 dan membawa keluar sebagian besar fungsinya sama dengan pernyataan if.
33:53 Namun, jika pernyataan lain hanya akan
33:55 dievaluasi jika sebelumnya jika (atau
33:58 jika) pernyataan dilewati karena kondisinya
34:01 menjadi salah.
34:02 Jadi kami akan melakukannya seperti jadi,
34:04 jika ada yang benar, kami akan menjalankan
34:07 kode di dalam tanda kurung kurawal pernyataan itu.
34:09 Lain, jika sesuatu itu tidak benar, TAPI yang lain
34:12 pernyataan di dalam tanda kurung benar,
34:14 kami kemudian akan menjalankan segmen kode ITU.
34:16 Dan jika tidak keduanya
34:18 benar,
34:18 kami akan melewatkan kedua segmen tersebut kode dan melanjutkan program kami.
34:22 Ini adalah konsep yang sulit untuk dipahami jadi mari kita lakukan contoh.
34:26 Jika kita punya program
34:27 yang mengevaluasi pernyataan if if (usia= 10),
34:29 kami kemudian dapat memiliki pernyataan di bawah itu
34:32 yang dinyatakan lain jika (usia= 12).
34:34 Sekarang, jika variabel usia adalah 10, yang dapat kita lihat
34:38 contohnya, maka kodenya segera mengikuti pernyataan bersyarat di
34:42 tanda kurung akan berjalan.
34:43 Pernyataan lain jika kami membuat bahkan tidak akan diuji sejak kami
34:46 tahu itu akan menjadi salah,
34:47 dan dengan demikian mencetak pernyataan di dalam persyaratan ITU
34:49 tanda kurung pernyataan akan diabaikan,
34:51 dan kode akan berpindah ke program lainnya.
34:54 Sekarang, sebagai contoh,
34:55 katakanlah kita mengubah variabel usia menjadi 12, bukan 10.
34:59 Sekarang, alih-alih pernyataan bersyarat pertama menjadi,
35:01 benar, itu sebenarnya mengevaluasi sebagai salah,
35:02 karena umur tidak lagi sama dengan 10.
35:04 Jadi apa kita lakukan sekarang, pertama lewati pernyataan cetak
35:07 yang mencetak bahwa usianya adalah 10 tahun, sejak ini bukan.
35:10 Dan sekarang kami mengevaluasi else if
35:11 pernyataan.
35:11 Kami memeriksa apakah usia sama dengan 12,
35:13 yang lagi-lagi dilakukannya, jadi sekarang kita menjalankan semuanya
35:15 kode di dalam pernyataan bersyarat itu sebelum akhirnya melanjutkan ke file
35:19 program.
35:20 Jadi sebagai review, kami memeriksa pernyataan if awal,
35:23 jika bagus kita menjalankan semua kode di dalamnya
35:25 jika pernyataan kurung kurawal dan lanjutkan dengan program kami,
35:28 jika pernyataan if awal
35:29 TIDAK benar, kami kemudian melanjutkan ke hal lain jika
35:31 pernyataan dan evaluasi jika MEREKA bersyarat
35:33 pernyataan itu benar.
35:34 Kita bisa mendapatkan yang lainnya jika pernyataan seperti yang kita inginkan,
35:36 meskipun ini bisa menyebabkan kekacauan di antara kode Anda jadi kami
35:39 akan membicarakan beberapa alternatif nanti untuk membantu
35:40 ini keluar.
35:41 Sekarang itu mengurus if-else pernyataan,
35:42 jadi sekarang kita akan beralih ke yang lain
35:44 pernyataan.
35:46 Pernyataan lain sekali lagi muncul setelahnya pernyataan if atau else if,
35:49 dan akan dibawa keluar instruksinya tidak peduli apa,
35:52 selama seperti pernyataan/ pernyataan sebelumnya
35:54 dievaluasi sebagai salah.
35:55 Jika kita kembali ke kita program sebelumnya,
35:58 kita bisa menambahkan pernyataan lain
35:59 yang hanya memiliki kode dalam tanda kurung
36:01 dijalankan jika variabel usia bukan "10"
36:03 atau "12".
36:03 Ini akan menangkap semua kasus program yang tidak sesuai dengan parameter kami.
36:07 Praktik yang baik untuk SELALU memiliki yang
36:08 lain pernyataan di akhir pernyataan bersyarat Anda
36:10 untuk menangkap kasus aneh yang mungkin muncul dalam program Anda.
36:13 Sekarang ingatlah kembali fakta bahwa kita
36:15 bisa memiliki ribuan lagi jika pernyataan,
36:17 setelah sementara itu bisa sangat berantakan,
36:18 dan jadi pernyataan bersyarat lain yang sangat berguna
36:21 yang membantu mengatasi masalah ini pernyataan saklar.
36:23 Pernyataan switch adalah secara fungsional mirip dengan
36:25 banyak if dan else if pernyataan bersama.
36:27 Anda menulis pernyataan switch
36:28 dalam bentuk saklar (variabel),
36:29 lalu di bawah ini Anda menulis berapa banyak kasus yang
36:32 variabel bisa.
36:32 Misalnya, jika kita menulis switch (var), lalu di bawahnya kita bisa menulis
36:36 dari 5 kasus yang bisa jadi variabel var,
36:37 dan kemudian instruksi yang terdaftar di bawah itu
36:39 kasus yang akan dilakukan jika variabel var sama dengan kasus itu.
36:43 Sekarang pernyataan switch berbeda sejak alih-alih menggunakan tanda kurung,
36:46 mereka menggunakan titik dua
36:47 untuk menandai awal dari serangkaian instruksi,
36:49 dan pernyataan istirahat untuk mengakhirinya.
36:51 Ini sangat berguna karena Anda pada dasarnya bisa
36:53 gunakan banyak pernyataan if dan else if tanpa
36:55 harus menulis hampir sebanyak itu.
36:56 Di saklar pernyataan, Anda hanya harus selalu ingat
36:59 untuk menyertakan kasus default di bagian bawah
37:01 ekspresi untuk menunjukkan setiap dan semua kasus
37:03 yang tidak memenuhi persyaratan di atas.
37:05 Ini hanya menangkap semua input itu
37:06 tidak sesuai dengan kasus utama program.
37:08 Ini sangat mirip dengan kasus lain di
37:10 akhir dari rantai if-else.
37:11 Sekarang, mengapa pernyataan ini sangat berguna?
37:14 Baik, berkali-kali, programmer menginginkan program mereka
37:16 berfungsi secara berbeda tergantung pada yang berbeda kondisi.
37:19 Misalnya, program bisa berfungsi secara berbeda tergantung
37:21 pada informasi yang dimasukkan pengguna,
37:23 seperti mengizinkan pengguna
37:24 menggunakan program atau tidak menggunakan program jika mereka masing-masing
37:26 berusia di atas atau di bawah 18 tahun.
37:29 Atau di katakan video game,
37:30 jika pengalaman pengguna tingkat di atas ambang tertentu yang kami bisa
37:32 ingin memberi mereka lawan yang lebih sulit untuk bertempur.
37:35 Contoh lain bisa menjadi program yang berubah
37:36 skema warna tergantung pada waktu hari.
37:38 Atau lebih sederhananya, jika pengguna menekan
37:40 tombol yang dimaksudkan untuk berpindah ke tombol lain layar dalam aplikasi,
37:43 programmer hanya akan
37:44 ingin aplikasi mengubah layar jika pengguna klik tombol itu.
37:47 Sebuah program tanpa syarat
37:48 pernyataan akan melakukan hal yang sama setiap saat,
37:50 dan akan sangat primitif dibandingkan dengan satu
37:51 yang dapat berubah tergantung pada kondisinya.
37:54 Jadi sekarang kita tahu cara membuat dan menggunakan variabel,
37:57 bagaimana membandingkannya, dan apa yang dapat kita lakukan
37:59 perbandingan tersebut,
38:00 mari kita lanjutkan ke yang lain konsep dasar ilmu komputer:
38:04 array.
38:06 Sekarang kita sudah membicarakan tentang variabel,
38:07 dan betapa hebatnya mereka untuk menyimpan dalam bentuk tunggal
38:09 bit informasi untuk membuat kode kita lebih banyak sederhana,
38:12 tetapi salah satu kelemahan terbesar
38:14 yang datang dengan variabel adalah ketidakmampuan mereka untuk
38:16 menyimpan lebih dari satu bagian informasi yang berbeda.
38:19 Misalnya,
38:19 Anda membuat file aplikasi yang memungkinkan pengguna untuk membuat toko
38:22 daftar.
38:23 Sebenarnya tidak ada cara mudah untuk membuatnya daftar menggunakan variabel,
38:27 karena tidak suka Anda dapat memiliki satu variabel untuk menyimpan nama
38:31 dari 7 atau 8 jenis makanan yang berbeda.
38:33 Ingat, kami hanya dapat meletakkan satu lembar kertas di kami kotak kardus;
38:37 tidak lagi.
38:37 Dan selain itu, bahkan
38:39 jika Anda menambahkan beberapa item ke satu string variabel,
38:41 Anda masih akan mengalami banyak masalah
38:43 melakukan tugas-tugas sederhana yang mungkin Anda inginkan
38:46 dari daftar seperti menelusuri atau membaginya
38:48 atau bahkan menghapus item dari daftar saat Anda sudah selesai dengan mereka.
38:51 Ini masalahnya yang menggunakan array memecahkan bagi kita.
38:55 Sebuah array adalah,
38:56 seperti yang mungkin sudah Anda duga sekarang, sebuah daftar.
38:58 Anda dapat memiliki array bilangan bulat,
39:00 array string,
39:01 dan bahkan array array lain yang merupakan sesuatu yang akan kita bahas
39:04 dalam semenit.
39:05 Pemrogram menggunakan array saat mereka ingin
39:07 menyimpan banyak variabel yang mengandung
39:08 informasi yang semuanya terkait satu sama lain,
39:11 seperti daftar belanjaan atau daftar skor tinggi
39:13 dalam sebuah permainan.
39:14 Pikirkan array sebagai kolom di excel atau google sheets.
39:17 Anda memiliki gelar di atas dan kemudian di bawahnya
39:20 adalah sekumpulan bit informasi yang semuanya berhubungan dengan
39:22 judul.
39:23 Array sangat berguna saat programmer ingin menyimpan banyak informasi yang bisa
39:27 mudah dicari karena programmer telah mengembangkan metode pemecahan dan
39:31 menggunakan array untuk menemukan informasi spesifik dalam
39:34 array yang penuh dengan ribuan variabel berbeda.
39:36 Sebagai contoh untuk menunjukkan betapa bergunanya array adalah,
39:39 katakanlah Anda adalah perusahaan startup
39:40 yang memiliki aplikasi yang memiliki 100.000 pengguna.
39:43 Setiap saat pengguna ingin membuat akun baru,
39:45 mereka memasukkan nama pengguna yang mereka inginkan dan
39:47 kemudian program Anda harus memeriksa untuk memastikan
39:48 nama akun belum dipakai.
39:50 Melakukan ini mengharuskan Anda untuk mencari
39:53 informasi dari semua 100.000 pengguna Anda untuk melihat
39:55 apakah nama pengguna itu memiliki akun dengan
39:57 layanan Anda.
39:58 Sebuah array akan dapat berisi semua informasi ini dan membuatnya mudah
40:02 mencari dan mencari tahu apakah akun tersebut nama
40:05 telah diambil dengan sedikit atau tanpa penundaan.
40:08 Sekarang satu-satunya hal terpenting untuk diperhatikan tentang
40:10 array adalah bagaimana Anda mereferensikan setiap elemen
40:12 dari array di dalamnya.
40:13 Mari buat array dasar yang disebut angka, dan di dalam
40:16 itu menempatkan angka 1-10.
40:17 Sekarang saat kita mau merujuk ke setiap sel dalam larik ini, yang kami sebut
40:22 di atas "indeks" nya.
40:23 Indeks hanyalah fantasi cara mengatakan bahwa angka ditempatkan di dalam
40:27 larik.
40:27 Sekarang Anda akan berpikir itu yang pertama integer
40:30 dalam larik ini akan menjadi indeks pertama,
40:32 yang kedua akan menjadi indeks kedua dan seterusnya aktif,
40:35 tapi bukan itu masalahnya.
40:37 Di komputer sains,
40:38 bahasa pemrograman mengacu pada sel pertama sebagai elemen ke-0 dalam larik.
40:43 Artinya jika kita sedang membicarakan tentang kita
40:45 deretan angka yang baru saja kita buat,
40:47 jumlahnya 4 sebenarnya berada di indeks ke-3,
40:49 5 akan berada di 4 dan seterusnya, jadi alih-alih memulai
40:52 hitungan kita dari 1, kita mulai dari 0.
40:54 Itu sangat aneh dan membingungkan tapi itu satu
40:57 dari kebiasaan pemrograman yang Anda tuju
40:59 harus menghafal dan berkomitmen pada memori.
41:01 Jika Anda tidak mengikuti nomenklatur ini dan
41:02 Anda mengacu pada elemen terakhir ini
41:04 array sebagai 10,
41:05 Anda mendapatkan apa yang dimaksud menjadi kesalahan "di luar batas", sejak
41:09 Anda mencoba mereferensikan elemen ke-10, tetapi tidak ada elemen ke-10.
41:13 Apa kamu sebenarnya coba lakukan adalah referensi ke-9.
41:16 Hal lain yang sangat penting untuk diperhatikan
41:18 tentang array ada hubungannya dengan ukurannya.
41:20 Kapan Anda menginisialisasi sebuah array,
41:22 Anda juga bisa melakukannya salah satu dari dua cara.
41:24 Anda bisa mengisinya dengan elemen yang Anda
41:26 inginkan terkandung dalam array saat itu juga,
41:29 membuat dan mengisi larik pada saat yang sama,
41:31 atau Anda dapat menentukan berapa banyak elemen yang Anda inginkan
41:34 dalam array-pada dasarnya ukuran array- dan
41:37 kemudian mengisinya dengan elemen nanti.
41:40 Ini karena ketika kita menginisialisasi sebuah array,
41:42 itu menciptakan ruang dalam memori yang memiliki ukuran
41:44 dari apa yang Anda berikan, tidak lebih tidak kurang.
41:48 Ini bagus saat kita ingin mengakses elemen
41:50 dalam larik karena kita dapat melakukannya secara instan,
41:55 tetapi satu sisi negatifnya adalah kami tidak dapat meningkatkan
42:00 ukuran array nanti, semua array ukuran adalah final.
42:03 Anggap saja seperti pengaturan
42:05 rak buku dengan buku.
42:07 Dengan mengisi file rak buku dengan jumlah buku tertentu dan
42:11 lalu melanjutkan dan mengisi rak berikutnya dengan buku yang berbeda.
42:14 Kami tidak punya cara untuk pergi
42:15 KEMBALI dan tambahkan buku ke rak pertama tanpa menggeser segalanya.
42:19 Setelah kami memutuskan berapa banyak
42:20 ruang untuk mendedikasikan ruang untuk larik ini kasus,
42:23 tidak ada cara untuk MENAMBAH lebih banyak ruang.
42:25 Sekali lagi karena ini sangat penting yang perlu diingat,
42:28 ini berarti bahwa sekali array
42:29 telah ditentukan, TIDAK ADA CARA untuk berubah ukurannya.
42:32 Jika Anda memiliki array berjudul
42:34 "Nama" dengan ukuran 8,
42:35 dan Anda mencoba untuk menambahkan nama lain ke larik yang Anda inginkan
42:39 menerima kesalahan,
42:39 jadi berhati-hatilah saat mengacaukan sekitar dengan ukuran array.
42:42 Tentu saja Anda bisa
42:43 selalu kembali di awal kode saat Anda awalnya MEMBUAT array dan mengalokasikan
42:48 lebih banyak ruang untuk itu jika Anda merasa
42:50 perlu lebih banyak ruang untuk menyimpan barang,
42:53 tetapi setelah itu ditentukan, Anda TIDAK DAPAT mengubah ukurannya.
42:59 Hal kecil lain yang benar-benar ingin saya sentuh
43:01 cepat adalah saat Anda menginisialisasi sebuah array,
43:03 Anda harus menentukan tipe array itu saat itu juga.
43:06 Misalnya Anda punya untuk secara khusus mengatakan itu
43:09 akan menjadi array string atau integer saat mendefinisikannya,
43:11 dan juga Anda tidak diizinkan untuk mencampur dan mencocokkan,
43:14 artinya Anda tidak dapat memiliki array yang penuh
43:16 bilangan bulat dengan beberapa string dan
43:17 beberapa ganda dimasukkan ke dalam campuran.
43:19 Mereka harus menjadi semua
43:20 Tipe yang sama.
43:21 Sekarang hal terakhir yang akan kita bahas pada array sedikit funky,
43:24 dan itu adalah praktek menempatkan array di dalam array.
43:27 Jika Anda membuat sebuah array dari array, itu akan dirujuk
43:29 sebagai array 2D, atau 2 dimensi.
43:31 Berpikir dari ini sebagai matriks jika ada di antara Anda yang telah diambil
43:35 kelas aljabar.
43:36 Sekarang Jika belum, pikirkan kembali ke contoh lembar google kami melainkan
43:40 hanya kolom, kami akan menambahkan baris juga.
43:42 Jadi sekarang, setiap elemen dalam array kita tidak akan melakukannya
43:45 hanya menjadi variabel String atau Integer variabel,
43:48 tetapi array yang sama sekali baru dengan nya
43:50 nilai dan elemennya sendiri.
43:53 Cara kami mengindeksnya sebagian besar sama,
43:55 kecuali kita akan memiliki 2 angka untuk diindeks sebagai gantinya
43:57 dari 1.
43:58 Kita mulai dengan baris dan kemudian kolom.
44:01 Jadi angka pada posisi (0,2) akan menjadi
44:04 di baris pertama tiga kolom ke bawah, di sini kasus nama Clint.
44:09 Angka di posisi (1,1) akan menjadi dua baris ke bawah dan 2 kolom di seberang,
44:14 dalam hal ini nama Chris.
44:16 Anda mendapatkan ide.
44:17 Sekarang Anda juga bisa membuat 3 dimensi
44:19 array dengan meletakkan array di dalam array
44:22 di dalam array, tapi itu sedikit di atas apa yang akan kita bahas jadi saya
44:25 akan memotongnya di sana.
44:26 Selanjutnya kita akan membicarakannya loop, jadi apa sebenarnya loop itu?
44:30 Selanjutnya kita akan membicarakannya loop, jadi apa sebenarnya loop itu?
44:33 Selanjutnya kita akan membicarakannya loop, jadi apa sebenarnya loop itu?
44:37 Selanjutnya kita akan membicarakannya loop, jadi apa sebenarnya loop itu?
44:41 Selanjutnya kita akan membicarakannya loop, jadi apa sebenarnya loop itu?
44:46 Seperti yang mungkin Anda ketahui dari pernyataan itu di sana,
44:48 loop pemrograman adalah pernyataan
44:49 yang digunakan untuk menjalankan instruksi tertentu berulang kali,
44:51 persis seperti bagaimana pernyataan pembukaan ini
44:53 topik diulangi 5 kali.
44:55 Loop sangat berguna untuk berbagai alasan.
44:58 Misalnya, bayangkan Anda ingin mencetak sesuatu sebanyak 15 kali.
45:00 Tentu, Anda bisa menyalin dan menempelkan hasil cetak
45:02 pernyataan 15 kali.
45:03 Tapi ini sangat mengganggu harus dilakukan, dan menjadi lebih tidak realistis
45:06 bila angka itu naik menjadi, katakanlah, 100 atau lebih.
45:09 Sekarang bagaimana jika bukannya menulis ulang sama
45:10 instruksi berulang kali, Anda bisa cukup tempatkan pernyataan cetak di dalam
45:14 sebuah lingkaran, dan itu akan terjadi sebanyak Anda ingin, itulah kekuatan loop
45:18 bayi.
45:18 Dengan loop kita dapat mengulang bagian kode beberapa kali.
45:21 Sekarang ada tiga berbagai jenis loop yang akan kita bahas hari ini.
45:25 Dan yang pertama adalah for loop.
45:27 Perulangan for sangat berguna untuk situasi yang dijelaskan di atas,
45:30 di mana Anda ingin melakukan a
45:31 serangkaian instruksi tertentu berkali-kali.
45:33 Sintaks untuk perulangan for bervariasi tergantung
45:36 pada bahasa, namun biasanya terdiri dari tiga bagian.
45:39 Nilai integer, kondisi yang harus dipenuhi nilai integer
45:42 secara berurutan untuk keluar dari loop,
45:43 dan operasi untuk memodifikasi
45:44 nilai integer setelah instruksi di dalamnya loop selesai.
45:47 Setiap kali untuk loop berjalan,
45:49 operasi yang Anda setel akan dilakukan pada integer, dan selama integer itu
45:52 masih memenuhi kondisi yang Anda tetapkan,
45:54 biasanya menjadi lebih besar dari atau kurang dari konstanta
45:56 nilai, loop for akan terus berjalan.
45:59 Akhirnya,
45:59 ketika integer telah dimodifikasi dengan meningkatkan atau menurunkannya menjadi
46:03 titik di mana tidak lagi memenuhi syarat, loop for akan berhenti dan kode akan
46:06 terus berlari.
46:07 Misalnya, katakanlah nilai integer kami adalah i dan kami menetapkannya sama
46:10 ke 0, lalu kami menetapkan pernyataan bersyarat karena saya kurang dari 3,
46:14 jadi pada dasarnya kami
46:15 mengatakan bahwa selama i- variabel kita baru saja dibuat- kurang dari 3,
46:19 terus berjalan instruksi yang terkandung dalam loop.
46:21 Akhirnya, kami membuat operasi i++, artinya
46:24 setiap kali loop berjalan kami akan meningkatkannya oleh satu,
46:26 dan di dalam lingkaran mari kita letakkan
46:27 pernyataan cetak sederhana.
46:29 Sekarang mari kita jalankan melalui loop.
46:31 Kami mulai dengan i= 0, 0 kurang dari 3 jadi kita masukkan
46:35 loop dan cetak Hello World.
46:36 Sekarang itu instruksi selesai kita tambahkan 1 untuk saya membuat
46:39 itu 1.
46:40 Pindah, 1 dalam kurang dari 3 lagi,
46:42 jadi kami sekali lagi masuk ke loop dan mencetak
46:45 Halo Dunia.
46:45 Sekali lagi, kami menambahkan 1 ke i, membuat itu 2 sekarang.
46:48 2 masih kurang dari 3 jadi kita masuk
46:50 loop lagi dan cetak hello world.
46:52 Akhirnya, kami menambahkan 1 ke i sekali lagi dan itu menjadi
46:55 tiga.
46:55 3 tidak kurang dari 3, itu sama dengan 3, jadi kami tidak memasuki loop
46:59 dan itu berakhir, pindah ke segmen berikutnya kode.
47:02 Ini adalah contoh sederhana, tetapi Anda
47:03 dapat mengekstrapolasi seluruh pemrograman agar sesuai kebutuhanmu.
47:06 Sekarang saat menggunakan for loop,
47:08 Anda harus membuatnya yakin untuk menyiapkan kondisi itu, mengingat
47:10 nilai integer awal dan operasi,
47:11 akan di beberapa titik tidak terpenuhi, untuk menghindari pembuatan
47:14 loop tak terbatas dan merusak program Anda.
47:16 Perulangan tak terbatas terjadi saat Anda memberikan untuk
47:18 loop suatu kondisi yang akan selalu terpenuhi mengingat parameter program,
47:21 dan sebagainya perangkat lunak macet.
47:22 Misalnya, for loop dimulai dari 10 dan memeriksa apakah saya pernah
47:26 kurang dari 0,
47:26 dan kemudian menambahkan 1 ke i di akhir loop tidak akan pernah berhenti, karena
47:29 saya hanya akan meningkat tanpa batas.
47:32 Setelah for loop sangat mirip dengan for setiap putaran.
47:36 A untuk setiap loop (atau untuk-dalam-daftar
47:38 loop, dalam python) digunakan untuk iterasi melalui array atau daftar.
47:42 Pada dasarnya loop akan
47:44 pergi melalui setiap elemen dalam array dan bawa
47:47 keluar beberapa set instruksi untuk setiap nilai.
47:50 Jika Anda ingin membaca semua elemen dalam
47:52 sebuah array dan membandingkannya dengan beberapa nilai,
47:54 atau melakukan beberapa operasi pada mereka,
47:57 a untuk masing-masing loop sangat berguna.
47:59 Misalnya, kita bisa memiliki untuk setiap loop yang
48:02 diulang melintasi array dan cukup mencetak file
48:04 nilai setiap lokasi larik.
48:07 Selanjutnya, kami memiliki while loop.
48:09 A while loop akan terus menjalankan instruksinya
48:11 sementara pernyataan bersyarat diberikan padanya adalah benar.
48:13 Ini bisa selama pasti
48:14 variabel benar, selama angkanya lebih kecil dari angka lain,
48:17 atau saat nilai masih
48:18 sama dengan nilai lain.
48:19 Sedangkan loop berbeda daripada untuk loop di mana loop tidak ada
48:23 dalam satu pernyataan,
48:24 tetapi diulurkan dan akan terus berjalan selama kondisinya
48:26 adalah benar.
48:28 Seperti loop for, Anda dapat membuat kondisinya sedemikian rupa
48:30 sehingga pada akhirnya akan mengembalikan false
48:31 dan keluar dari loop,
48:32 namun loop akan melakukannya tidak merusak komputer Anda yang harus Anda buat
48:35 lingkaran tak terbatas.
48:36 Padahal, hal itu sangat umum for while loop untuk berjalan tanpa batas,
48:39 seperti, for program tertentu,
48:40 Anda ingin program tersebut untuk terus diiterasi sebagai gantinya
48:43 menjalankan sekali, terus hingga Anda keluar dari program.
48:47 Saat memprogram game, misalnya,
48:48 sebentar loop akan digunakan untuk mengulang melalui Anda
48:50 kode, terus menyegarkan layar sebagai permainan berjalan.
48:53 Dari sana Anda bisa tampil
48:54 operasi di layar untuk membuat game bisa dimainkan.
48:56 Membuat loop sementara tanpa batas
48:58 hanya akan dilakukan menggunakan sintaks sementara (true),
49:00 karena kondisi benar akan selalu dievaluasi
49:02 sebagai benar.
49:03 Akhirnya, saya ingin membahas ekstensi dengan cepat dari while loop,
49:08 do-while loop.
49:08 Do-while loop sangat mirip dengan loop sementara,
49:10 kecuali mereka akan melaksanakan instruksinya di
49:12 setidaknya sekali, meskipun kondisinya salah,
49:14 dan kemudian akan melanjutkan seperti biasa
49:16 lingkaran.
49:16 Pada dasarnya, kondisi di dalam file loop akan berjalan SETIDAKNYA sekali,
49:19 dan kemudian jika syaratnya masih terpenuhi mereka akan lari
49:23 lagi dan berfungsi sebagai while loop.
49:25 Seperti yang Anda lihat,
49:26 loop dan banyak variasinya memiliki beberapa fungsi yang sangat berguna.
49:29 Menggunakan mereka, Anda dapat melakukan operasi berkali-kali berturut-turut,
49:33 Anda dapat mengulanginya
49:34 array dan daftar, dan secara keseluruhan mengurangi kekacauan kode Anda.
49:39 Selanjutnya, kita akan istirahat belajar tentang pernyataan pemrograman umum,
49:42 dan selami apa yang terjadi saat kode kita menulis tidak berhasil.
49:45 Lebih khusus lagi, kami akan
49:46 menutupi berbagai jenis kesalahan yang dapat terjadi saat Anda memprogram,
49:50 dan apa penyebabnya.
49:52 Sekarang saat Anda menulis kode,
49:53 Anda harus melakukannya memahami bahwa segala
49:54 sesuatunya tidak selalu berjalan lancar
49:55 untuk pergi seperti yang Anda harapkan,
49:56 dan terkadang program tidak selalu bekerja seperti yang Anda lakukan
49:59 dimaksudkan untuk itu.
50:00 Kami programmer menyebutnya kesalahan dan meskipun mengganggu,
50:03 mereka selalu terjadi akan muncul dalam ilmu komputer dan sebagainya yang
50:06 terbaik adalah mempelajari apa itu dan bagaimana caranya
50:08 berurusan dengan mereka.
50:09 Sering disebut sebagai "bug", kesalahan dalam bahasa scripting bisa dipersempit
50:13 turun ke salah satu dari tiga "jenis":
50:17 sintaks, runtime, dan logika, ketiganya kami
50:19 akan dibahas dalam video hari ini.
50:22 Untuk memulai, mari kita bicara tentang sintaks kesalahan.
50:25 Ini biasanya yang termudah dari
50:27 3 untuk dipecahkan karena mereka seringkali adalah
50:29 sesuatu yang bisa diperbaiki dalam hitungan detik.
50:31 Jika kamu ingat kembali ke awal di video
50:33 saat kami berbicara tentang aturan sintaks dan pemrograman,
50:35 kata kami bahwa jika Anda memutuskan pemrograman aturan,
50:37 atau sintaks, yang akan dihasilkannya
50:39 sebuah kesalahan.
50:40 Nah itulah yang error sintaksnya adalah,
50:41 bagian dalam program Anda di mana Anda gagal
50:44 untuk memenuhi aturan pemrograman dan komputer
50:46 tidak tahu bagaimana menafsirkan kode Anda.
50:48 Ini bisa apa saja,
50:49 dari melupakan titik koma di akhir pernyataan di java, secara tidak sengaja
50:53 mendefinisikan variabel dengan dua kata salah satu,
50:55 atau bahkan hanya salah mengeja kata
50:57 String saat Anda mencoba mendefinisikan string variabel.
51:00 Beruntung bagi kalian, kesalahan ini
51:01 sangat mudah diperbaiki karena Anda hanya perlu untuk
51:04 mencari tahu di mana kesalahan terjadi dan
51:06 apa aturan sintaks yang Anda langgar.
51:08 Sekarang berpikir kembali ke IDE, kami menyebutkan bahwa IDE
51:11 sangat berguna karena mereka melakukannya dengan tepat,
51:14 mereka menggarisbawahi kesalahan sintaks dan biasanya menyediakan
51:16 petunjuk berguna tentang cara memperbaikinya.
51:18 Berpikir kesalahan sintaksis sebagai kesalahan ejaan kecil atau
51:21 kesalahan tata bahasa dalam esai yang Anda tulis,
51:24 mengganggu; ya, tapi bukan yang paling menyebalkan
51:26 sesuatu.
51:27 Hal berguna lainnya tentang IDE ketika datang ke kesalahan sintaks adalah bahwa
51:31 program sebenarnya akan membatasi Anda untuk berjalan
51:34 kode kecuali semua kesalahan sintaks dihapus,
51:36 membuatnya lebih mudah untuk diidentifikasi dan diperbaiki.
51:40 Jenis kesalahan kedua yang akan kita bahas adalah kesalahan waktu proses.
51:44 Kesalahan ini tidak tampilkan sampai
51:45 Anda benar-benar "menjalankan" kode tersebut,
51:47 maka nama kesalahan "runtime".
51:49 Runtime kesalahan disebabkan oleh pernyataan dalam
51:51 kode Anda yang TAMPAKNYA terdengar logis,
51:53 tetapi
51:54 komputer secara fisik tidak memiliki cara komputasi dalam waktu yang wajar.
51:58 Yang paling umum dari kesalahan ini adalah
52:00 salah satu yang kami lakukan sudah dibicarakan;
52:02 loop tak terbatas.
52:03 Sebagai penyegar/ contoh, pikirkan yang tak terbatas loop seperti ini.
52:07 Katakanlah Anda mendudukkan teman Anda
52:08 di depan TV, ulangi Office,
52:10 dan memberitahunya bahwa dia bisa pergi begitu Michael
52:13 membuat lelucon "Itu yang dia katakan".
52:15 Tampaknya cukup sederhana bukan?
52:17 SALAH, karena alih-alih menempatkan di Office,
52:19 Anda memasukkan di TEMAN di blu ray.
52:21 Tidak michael, tidak pantas
52:23 lelucon,
52:23 artinya teman Anda akan duduk di sana selama sisa hidupnya mungkin bingung
52:26 mengapa Dunder Mifflin sangat mirip sebuah kedai kopi.
52:27 Inilah yang pada dasarnya terjadi
52:28 dengan komputer,
52:29 Anda memberikan beberapa kondisi yang harus diselesaikan sebelum program
52:32 dapat menghentikan; Namun,
52:33 Anda memberikannya tidak layak cara untuk menyelesaikan tugas itu.
52:37 Ini menempatkan komputer dalam mode kesalahan dan
52:39 kemungkinan besar akan membuat Anda crash program,
52:41 saat komputer berusaha keras
52:42 untuk melengkapi kondisi yang Anda berikan.
52:44 Sebagai contoh komputer, jika kita mencoba memiliki sebuah program
52:48 berakhir ketika bilangan bulat i tidak lagi lebih besar dari 99,
52:53 tetapi saya awalnya 100 dan hanya meningkat,
52:56 loop tidak akan pernah berhenti dan program akan crash.
52:59 Untuk menghindari ini, Anda biasanya
53:01 ingin memikirkan alur kode Anda sebelum menjalankannya -terutama dengan loop-
53:05 untuk memastikan bahwa semua pernyataan Anda bisa diselesaikan oleh komputer.
53:09 Perencanaan dengan hati-hati keluar kode Anda sebelum Anda
53:11 mulai menulisnya adalah praktik yang sangat berguna,
53:14 dan sesuatu kami akan membahas bagian selanjutnya dari video ini.
53:18 Jenis kesalahan terakhir yang akan kita bahas adalah kesalahan logika.
53:21 Kesalahan ini juga lumayan
53:22 cukup jelas.
53:23 Kesalahan logika terjadi saat kode berjalan lancar tanpa runtime apa pun
53:27 atau kesalahan sintaks,
53:28 tetapi hasilnya Anda dapatkan bukanlah apa yang Anda inginkan.
53:31 Sebagai contoh, katakanlah Anda memiliki aplikasi kalkulator,
53:33 dan Anda ingin menginstruksikan program untuk menambahkan
53:35 dua angka, kecuali itu mengalikannya karena Anda menggunakan simbol perkalian
53:40 dalam kecelakaan.
53:40 Hal ini menyebabkan jumlahnya menjadi 36 sebagai gantinya dari 13.
53:45 Tidak ada yang salah dengan sintaks kode
53:47 atau waktu proses, kode berjalan dengan baik,
53:50 itu hanya tidak berfungsi seperti yang Anda inginkan.
53:53 Ini sering kali merupakan jenis kesalahan yang paling
53:55 sulit untuk men-debug karena sebagian besar waktu,
53:57 Anda akan tidak tahu mengapa kodenya tidak berfungsi,
53:59 dan tentu saja tidak tahu bagaimana memperbaikinya.
54:02 Inilah mengapa ide yang bagus untuk menguji file kode secara bertahap,
54:05 jangan menunggu sampai Anda
54:06 telah memprogram selama satu jam sebelum pengujian aplikasi Anda,
54:09 atau Anda akan mengalami
54:10 banyak kesalahan logika.
54:11 Bisa jadi kesalahan logika sangat membuat frustrasi dan dapat merugikan Anda
54:15 banyak waktu, membuat mereka sangat sakit,
54:17 tapi jika Anda tahu cara men-debug file
54:19 kode, Anda akan baik-baik saja.
54:23 Berbicara tentang men-debug kode Anda,
54:24 itu membawa kita langsung ke topik berikutnya, yaitu
54:26 cara men-debug program Anda.
54:28 Sekarang, katakanlah Anda telah menulis sebuah program.
54:30 Anda pikir itu sudah siap, dan Anda siap
54:32 menguji.
54:32 Anda telah bekerja keras untuk ini, dan Anda senang melihatnya beraksi.
54:35 Anda menjalankan program, dan menunggu program itu berjalan lancar dan efisien.
54:39 Hanya saja, tidak kerja.
54:40 Anda telah menemukan salah satu dari ketiganya
54:42 kesalahan yang baru saja kami sebutkan.
54:43 Anda benar-benar ingin kode ini berfungsi, tapi bagaimana?
54:45 Ini dimana debugging mulai bekerja.
54:47 Jika kode memberi Anda kesalahan,
54:49 maka hal pertama yang harus Anda lakukan adalah membaca kesalahannya.
54:51 Seringkali,
54:52 untuk kesalahan sintaks dan waktu proses IDE akan mencetak pesan kesalahan ke
54:55 konsol.
54:55 Lihat garis atau garis apa yang ditunjuknya ke-
54:57 karena itu akan menjadi garis di mana
54:59 kesalahan terjadi- dan lihat apakah Anda bisa
55:02 mengerti dan perbaiki apa yang dikatakan masalahnya.
55:04 Jika kesalahan tidak jelas, atau Anda belum pernah mendengar dari itu,
55:07 lalu coba googling, ada banyak
55:09 situs web di luar sana seperti stackoverflow yang
55:11 berfungsi sebagai forum untuk bertanya dan menjawab masalah
55:13 dengan kode.
55:13 Kemungkinannya adalah, jika Anda pernah memiliki file masalah,
55:16 orang lain memiliki masalah yang sama
55:18 dan kemungkinan ada solusi yang teruji.
55:20 Biasanya, ketika kesalahan sintaks atau runtime muncul, Anda
55:23 harus dapat menemukan solusi untuk itu secara adil dengan mudah;
55:26 Namun, seperti yang saya katakan sebelumnya, masalahnya
55:28 mungkin timbul dari beberapa celah atau kekeliruan
55:30 dalam kode yang tidak Anda rencanakan sebelumnya.
55:32 Mungkin Anda melakukan sesuatu yang sederhana
55:34 seperti perkalian dua variabel alih-alih menambahkannya.
55:36 Ini adalah kesalahan logika yang kita bicarakan sebelumnya.
55:38 Masalah ini biasanya tidak memiliki teks berwarna merah
55:40 muncul untuk menjelaskan kepada Anda apa yang salah.
55:43 Anda harus mencari tahu sendiri.
55:45 Sekarang ada beberapa strategi berbeda untuk Anda
55:47 dapat digunakan untuk melacak dan memperbaiki logika
55:49 kesalahan.
55:50 Pertama,
55:50 Anda dapat menggunakan pernyataan cetak dan konsol untuk menentukan di mana
55:54 kodenya salah.
55:56 Bayangkan Anda memiliki pernyataan bersyarat itu akan
55:58 menjalankan satu segmen kode jika bilangan bulat
56:00 x, lebih besar dari 5, dan akan menjalankan yang lain segmen kode jika tidak.
56:04 Jika, dalam program Anda,
56:06 x seharusnya lebih besar dari 5 saat program mencapai kondisi ini
56:09 tetapi untuk beberapa alasan program ini masih mencetak
56:11 keluar "X kecil" Anda bisa menggunakan cetakan
56:13 pernyataan untuk membantu.
56:14 Untuk masalah ini secara khusus Anda dapat
56:16 menempatkan kata pernyataan cetak di depan cabang
56:18 kondisional yang akan mencetak nilai dari x.
56:20 Sekarang ketika Anda menjalankan program, Anda tahu
56:23 persis seperti yang dipikirkan komputer.
56:24 Pencetakan keluar nilai x tepat sebelum if/ else
56:27 pernyataan akan memberi tahu Anda jika
56:29 variabel memiliki nilai yang Anda inginkan,
56:30 dan jika Anda tidak tahu bahwa di suatu tempat di
56:32 atas bahwa bersyarat ada yang tidak beres dan
56:34 x ditetapkan ke nilai yang tidak Anda inginkan untuk.
56:37 Dalam hal ini, x sama dengan 2, yaitu
56:39 mengapa x kecil sedang dicetak.
56:42 Sekarang kita tahu apa masalahnya yang bisa kita lacak ke
56:44 bawah di mana dan kapan dalam kode yang kita modifikasi
56:46 x untuk mencari tahu masalahnya.
56:48 Gunakan pernyataan cetak untuk menentukan di mana kesalahan program Anda,
56:51 dan kemudian mencoba melacak penyebabnya masalah dan menyelesaikannya.
56:54 Jika Anda menggunakan strategi ini,
56:56 pastikan Anda akhirnya menghapus pernyataan cetak setelah
56:58 itu untuk menghindari kekacauan di konsol.
57:00 Situasi yang dijelaskan di atas juga
57:02 bisa jadi diselesaikan menggunakan breakpoint.
57:04 Sebuah breakpoint berhenti program Anda ketika baris Anda
57:07 menempatkan breakpoint di tercapai dalam program Anda.
57:09 Misalnya, jika Anda ingin program dijalankan melalui
57:11 kondisi tertentu dan menetapkan variabel
57:13 berdasarkan persyaratan itu,
57:13 tetapi Anda tidak yakin jika ini benar-benar terjadi dengan benar di file
57:16 kode, Anda dapat menempatkan breakpoint di dalam
57:19 jalur bersyarat yang ingin Anda jalankan.
57:21 Setelah breakpoint tercapai, program akan berhenti sebentar,
57:24 dan menunggu Anda melanjutkannya
57:25 melalui tekan tombol.
57:26 Ini menandakan itu tempat di kode tempat breakpoint
57:28 ditempatkan, dalam hal ini kondisional yang benar jalur,
57:32 telah dijangkau oleh program.
57:33 Kamu kemudian dapat melanjutkan program dengan mengetahui hal itu
57:36 ada atau tidak ada kesalahan dalam kode Anda
57:38 terjadi.
57:38 Breakpoints dapat digunakan bersamaan dengan
57:40 pernyataan cetak agar keduanya berhenti
57:42 program,
57:42 dan mungkin melihat nilai variabel Anda pada saat yang tepat untuk diberikan
57:46 sendiri semua informasi yang Anda inginkan.
57:48 Anda juga dapat memiliki beberapa breakpoint
57:50 membantu bekerja perlahan melalui program Anda dan
57:53 tentukan di mana kesalahan itu terjadi.
57:55 SEBUAH kombinasi dari kedua strategi ini akan membantu Anda
57:57 dengan mudah menentukan di mana kode Anda Anda
57:59 telah mengalami kesalahan logika.
58:01 Selanjutnya, mari kita bahas apa yang harus dilakukan jika
58:04 Anda berpikir Anda telah melacak bagian kode
58:06 yang menyebabkan masalah.
58:07 Anda mungkin berpikir Anda harus menghapusnya,
58:09 tetapi kemungkinan Anda memasukkannya
58:10 itu ada di sana karena suatu alasan,
58:11 dan Anda tidak ingin kehilangan pekerjaan
58:13 itu jika Anda tidak perlu melakukannya.
58:14 Pertama, coba beri komentar.
58:15 Komentar adalah digunakan untuk menandai kode dan menjelaskan sekitarnya
58:19 bagian, tetapi mereka juga dapat digunakan untuk debug.
58:22 Apa pun yang ditetapkan sebagai komentar akan
58:24 tidak dibaca oleh program sebagai kode, dan akan dilewati.
58:27 Intinya, itu menjadi sesuatu
58:29 itu hanya ada untuk ANDA programmer untuk membaca.
58:31 Sintaksnya bervariasi dari satu bahasa ke bahasa lainnya
58:34 bahasa, tetapi biasanya melibatkan penempatan beberapa simbol
58:36 sebelum atau di sekitar kode anda
58:37 ingin dikomentari.
58:38 Contoh bagaimana untuk berkomentar dalam berbagai bahasa dapat dilihat
58:41 di layar sekarang.
58:42 Juga, saat Anda berkomentar sesuatu, IDE akan mengubah skala garis
58:46 kode, membuatnya sangat mudah untuk ditentukan apa
58:49 yang dikomentari dan apa yang tidak.
58:51 Berkomentar kode 'menghapus' di komputer mata tanpa benar-benar menghapusnya.
58:55 Jika ada masalah hadir sebelum Anda mengomentari
58:57 bagian dari kode tetapi hilang sesudahnya,
58:59 lalu bagian itu kode adalah pelakunya.
59:01 Jika Anda berkomentar bagian kode keluar dan masih ada masalah,
59:04 lalu pindah ke bagian lain sampai Anda menemukannya pelakunya.
59:07 Setelah Anda melakukannya, Anda dapat menyesuaikannya
59:09 hingga berfungsi sebagaimana mestinya atau hapus seluruhnya dan
59:11 Anda akan memiliki program yang berfungsi penuh
59:14 sekali lagi.
59:15 Hore!
59:15 Sekarang kita telah membicarakan tentang apa yang harus
59:17 dilakukan IF Anda telah menemui kesalahan dan strategi
59:19 tentang cara menemukan dan memperbaikinya,
59:20 saya ingin berbicara tentang beberapa strategi
59:21 yang dapat Anda gunakan untuk MENGHINDARI
59:23 kesalahan di tempat pertama.
59:24 Pertama, backup kode Anda sesering mungkin.
59:27 Dalam acara kode sepenuhnya mengganggu dan
59:29 Anda menjadi tidak dapat memperbaikinya,
59:30 Anda akan menginginkan kemampuannya
59:31 untuk kembali ke versi sebelumnya di mana kode masih berfungsi.
59:34 Jika Anda sering menabung
59:35 cukup, barangkali anda tidak akan rugi juga banyak kerjaan.
59:38 Manajer versi seperti Github atau
59:40 Subversion dapat membantu dengan ini,
59:41 karena mereka membuat cadangan kode ke layanan cloud online di mana Anda
59:45 dapat dengan mudah menarik versi program sebelumnya kapan saja.
59:48 Selain itu, selain menyimpan,
59:50 sering-seringlah menjalankan program Anda untuk memastikan
59:51 bahwa versi saat ini berfungsi sebagai
59:53 dimaksudkan.
59:54 Ini menyelesaikan dua hal.
59:55 Pertama dari semuanya, ini mencegah Anda menyimpan cadangan
59:58 itu tidak berhasil.
59:59 Kedua, jika Anda bertemu masalah, akan lebih mudah ditemukan jika Anda
1:00:03 hanya membuat sedikit perubahan sejak itu
1:00:05 terakhir kali Anda menjalankannya dan berhasil,
1:00:06 dan jadi Anda hanya perlu melihat-lihat kode baru untuk masalah.
1:00:09 Jika Anda telah menghabiskan 5
1:00:10 jam coding dan tidak menjalankannya selama itu jangka waktu,
1:00:12 itu akan menjadi sangat luar biasa
1:00:14 kemungkinan bahwa di beberapa titik selama 5 jam itu kode sesh Anda mengacaukan,
1:00:17 dan itu berjalan menjadi lebih sulit untuk mengetahui di mana Anda salah.
1:00:20 Kesalahan, sementara menjengkelkan dan sangat ekstrim
1:00:21 membuat frustrasi,
1:00:22 adalah bagian mendasar dari pembuatan Anda seorang programmer yang lebih baik.
1:00:25 Baiklah, sekarang kita telah membahas kesalahan untuk sedikit,
1:00:28 mari kita kembali ke pemrograman
1:00:30 pernyataan dan berbicara tentang salah satu yang
1:00:32 paling konsep penting dalam ilmu komputer,
1:00:34 itu fungsi.
1:00:36 Sekarang, Anda mungkin tidak mengetahuinya,
1:00:37 tetapi kami sebenarnya sudah telah berbicara tentang beberapa fungsi selama ini
1:00:39 seri.
1:00:40 Pernyataan cetak, untuk loop,
1:00:42 dan bahkan operasi matematika dasar adalah contoh dari
1:00:46 fungsi, yang tentu saja menimbulkan pertanyaan tentang
1:00:49 apa yang sebenarnya mendefinisikan suatu fungsi.
1:00:51 Baik, fungsi adalah segmen kode yang bisa
1:00:54 dengan mudah menjalankan "memanggil" nama fungsi
1:00:56 dan tergantung pada jenis fungsinya, akan melakukan sesuatu sebagai imbalan.
1:01:00 Fungsi bisa disebut berkali-kali, dan di banyak tempat.
1:01:03 Intinya mereka seperti membungkus segmen kode
1:01:07 menjadi hadiah yang bagus dan memberinya nama yang;
1:01:09 ketika dipanggil, akan membuka bungkusnya dan pergi
1:01:12 melalui kode yang Anda selesaikan.
1:01:15 Misalnya, pernyataan cetak yang kita miliki telah menggunakan
1:01:17 seri ini memungkinkan kami untuk mencetak sesuatu
1:01:19 ke konsol kapan saja kita mau ada fungsi.
1:01:22 Soalnya, kami hanya "memanggil" fungsi cetak
1:01:25 dan masukkan ke dalam tujuan kami ingin dicetak konsol,
1:01:29 dan komputer melakukannya untuk
1:01:31 kami.
1:01:31 Di balik layar, sebenarnya ada kode yang lebih kompleks yang bertugas mengambil
1:01:35 teks Anda dan menerjemahkannya ke konsol untuk dicetak.
1:01:39 Hampir semua pengembang bahasa pemrograman menyadari bahwa Anda
1:01:42 tidak ingin memprogram sesuatu yang dimiliki secara manual
1:01:45 untuk mencetak sesuatu ke konsol melalui penggunaan pemrograman yang kompleks,
1:01:49 dan sebagainya menerapkan pernyataan cetak untuk mengurangi tekanan
1:01:52 dan kompleksitas kode pada pengguna,
1:01:54 mengabstraksi menjadi satu baris kode sederhana.
1:01:57 Semua kode itu yang digunakan untuk mencetak sesuatu
1:02:00 ke konsol dibungkus seperti hadiah dan diberikan
1:02:03 kepada kami dalam bentuk satu baris,
1:02:05 “print()”.
1:02:06 Ini sebenarnya adalah tema utama dari semua fungsi
1:02:08 dan tulang punggung dari program yang bagus.
1:02:11 Sering dalam program Anda akan ada bagian kode yang diulangi dan berfungsi sama
1:02:15 tujuan, atau persamaan yang ingin Anda izinkan masukan yang berbeda dari.
1:02:19 Jadi Anda bisa menggunakan fungsi
1:02:21 untuk memadatkannya menjadi tunggal baris kode
1:02:23 untuk menghemat waktu dan mengurangi
1:02:26 mengacaukan kode Anda.
1:02:27 Seperti yang akan Anda lihat segera, fungsi SANGAT kuat dan akan
1:02:31 pasti menjadi sesuatu yang Anda manfaatkan semua
1:02:34 waktu dalam perjalanan ilmu komputer Anda.
1:02:36 Pernyataan cetak hanyalah salah satu contoh dari fungsi dalam kode sehari-hari.
1:02:40 Ada ribuan fungsi yang tersedia untuk Anda melalui IDE.
1:02:43 Namun; karena kamu tidak akan selalu
1:02:45 menggunakan ribuan fungsi itu terbuka untuk Anda
1:02:48 dalam satu program yang Anda miliki
1:02:49 untuk mengimpor fungsi ini dari paket yang ditemukan di IDE,
1:02:53 yang akan kami bahas
1:02:54 kemudian.
1:02:55 Sekarang, ada empat jenis fungsi utama di sebagian besar bahasa pemrograman,
1:02:59 dan memang demikian
1:03:00 dipisahkan oleh dua fitur penentu: apakah atau tidak mereka berdebat, dan apakah
1:03:04 atau tidak mereka mengembalikan nilai.
1:03:06 Mari kita mulai memisahkan mereka dengan mengambil atau tidak
1:03:08 argumen, tapi pertama-tama kita harus membahas apa argumen.
1:03:13 Argumen dasarnya adalah variabel kita masuk ke fungsi untuk dimanipulasi
1:03:18 dan kemudian kembali ke kami,
1:03:20 dicetak ke konsol, atau digunakan dalam operasi lain.
1:03:23 Pikirkan fungsi dengan argumen seperti pengurutan makanan di restoran.
1:03:26 Jika Anda berjalan ke
1:03:27 lima orang lokal Anda dan memberi tahu mereka bahwa
1:03:29 Anda menginginkannya untuk mendapatkan makanan tanpa menyediakan jenis makanan,
1:03:32 mereka mungkin akan melihat Anda dengan bingung.
1:03:34 Anda perlu memberi tahu mereka apa yang sebenarnya Anda inginkan
1:03:38 untuk memesan agar mereka dapat memberikannya kepada Anda.
1:03:40 Dalam hal ini mendapatkan makanan adalah fungsinya
1:03:43 dan apa yang Anda pesan akan diteruskan sebagai argumen.
1:03:46 Berdasarkan apa yang Anda sampaikan kepada mereka, atau
1:03:49 argumennya, mereka akan melakukan sesuatu yang berbeda.
1:03:52 Anda juga harus memperhatikan bahwa argumen bisa
1:03:56 ada banyak hal yang berbeda, bisa jadi kentang goreng,
1:03:59 burger, soda, apa pun yang ada di menu,
1:04:01 dan seperti halnya argumen dalam pemrograman.
1:04:04 Ini pada dasarnya adalah apa yang terjadi dengan file komputer,
1:04:11 misalnya, fungsi maksimal yang
1:04:14 mengambil dua bilangan bulat sebagai argumen dan
1:04:17 pengembalian jumlah maksimum di antara keduanya.
1:04:19 Sekarang, untuk fungsi ini jika Anda tidak memasukkan
1:04:22 dua angka atau variabel untuk dibandingkan,
1:04:24 itu berjalan untuk memberi Anda kesalahan seperti lima orang karyawan,
1:04:27 dia tidak tahu apa yang Anda inginkan
1:04:29 untuk makan karena kamu tidak memberinya apapun argumen, dan komputer tidak tahu
1:04:33 dua angka apa yang ingin Anda bandingkan
1:04:35 dan kembali karena Anda tidak menyediakannya
1:04:37 dua bilangan bulat.
1:04:38 Argumen adalah cara bagi programmer memiliki satu
1:04:40 fungsi yang dapat melakukan banyak hal berbeda
1:04:42 hal-hal tergantung pada variabel mana yang bisa dilewati.
1:04:46 Argumen menambah variabilitas untuk pemrograman
1:04:48 dan dapat membantu mendiversifikasi kode.
1:04:50 Mengingat kembali contoh lima orang kami,
1:04:52 sebuah restoran yang hanya mengizinkan satu jenis makanan
1:04:54 untuk dibuat apa pun yang Anda pesan
1:04:56 tidak akan terlalu berguna atau beragam,
1:04:58 tetapi jika kami dapat menyampaikan argumen dan
1:05:01 beri tahu mereka makanan apa yang kita inginkan,
1:05:03 pengalaman kita dapat ditingkatkan dan lebih banyak pilihan menjadi
1:05:06 tersedia, itulah yang terjadi kapan Anda menerima argumen dalam fungsi Anda.
1:05:12 Sekarang kita telah membicarakan tentang fungsi itu mengambil argumen,
1:05:15 mari beralih ke fungsi
1:05:16 yang tidak mengambil argumen,
1:05:17 karena fungsinya juga bisa dibuat dan digunakan tanpa mengambil
1:05:20 dalam argumen dan masih sangat berguna.
1:05:23 Misalnya, Anda membuat file
1:05:25 game RPG berbasis teks dan salah satu opsinya
1:05:28 Anda memberi pemain Anda kemampuan untuk melihat
1:05:30 statistik mereka di berbagai titik di seluruh permainan.
1:05:33 Sekarang setiap kali Anda menemukan pilihan
1:05:35 dan mereka memilih tombol "Lihat Statistik",
1:05:37 Anda tidak ingin mengetik 6 yang berbeda
1:05:39 mencetak pernyataan untuk setiap statistik mereka mungkin saja,
1:05:42 kode Anda akan berantakan dan
1:05:43 berantakan dengan sangat cepat.
1:05:44 Sebaliknya,
1:05:45 apa yang Anda bisa lakukan adalah mengemas 6 pernyataan cetak yang berbeda
1:05:49 dalam fungsi sederhana yang disebut printStats().
1:05:51 Anda tidak perlu menyampaikan argumen apa pun
1:05:54 fungsi karena fungsi tersebut akan melakukan hal
1:05:56 yang sama tidak peduli apa statistiknya
1:05:58 pemainnya.
1:05:58 Sekarang, setiap pengguna menginginkannya untuk melihat statistik mereka,
1:06:02 Anda cukup memanggil printStats()
1:06:04 fungsi dan voila, statistik pengguna dicetak untuk mereka lihat.
1:06:08 Ini memungkinkan Anda untuk menghemat banyak waktu menulis kode,
1:06:11 tapi juga banyak ruang yang sangat penting
1:06:14 ketika program Anda mulai mencapai ratusan dan
1:06:16 ribuan baris dan Anda ingin dengan mudah
1:06:19 cari melalui itu.
1:06:21 Oke, sekarang kita sudah memisahkan fungsi menjadi mereka
1:06:24 yang mengambil argumen dan yang itu
1:06:26 jangan,
1:06:26 mari kita pisahkan lagi menjadi mereka yang mengembalikan nilai dan yang tidak.
1:06:31 Sekarang hal yang harus Anda pahami adalah
1:06:33 itu saat Anda membuat fungsi Anda sendiri,
1:06:35 yaitu adalah sesuatu yang akan kami bahas segera,
1:06:38 Anda harus memilih apa fungsi Anda akan kembali,
1:06:40 jika ada.
1:06:41 Fungsi mampu mengembalikan nilai kepada pengguna apakah mereka
1:06:46 menjadi variabel String, variabel integer, atau bahkan array.
1:06:49 Sekarang hal yang perlu diperhatikan tentang kembali
1:06:53 nilai adalah yang memanggil fungsi itu sendiri tidak akan melakukan apapun.
1:06:56 Anda harus mengembalikan nilai menjadi sesuatu.
1:06:59 Sebagai contoh, Max fungsi yang kita bicarakan sebelumnya akan
1:07:04 mengembalikan integer,
1:07:05 tetapi untuk melakukan sesuatu dengan itu kita harus mengatur yang baru
1:07:10 variabel integer sama dengan hasil itu Fungsi maksimal,
1:07:13 atau kita bisa mencetak hasilnya
1:07:15 fungsi, yang dalam hal ini hanya akan mencetak nilai maksimum di antara keduanya
1:07:19 bilangan bulat.
1:07:20 Menggunakan fungsi yang mengembalikan nilai jangan berbuat banyak sendiri,
1:07:23 kamu harus pasangkan dengan sesuatu untuk digunakan keluar dari itu.
1:07:28 Mari kita lakukan contoh lain,
1:07:29 katakanlah Anda telah menciptakan fungsi yang mengambil dua string
1:07:32 variabel sebagai argumen, menggabungkannya menggunakan matematika String mewah
1:07:36 yang kita bicarakan sebelumnya,
1:07:38 dan kemudian mengembalikannya sebagai satu string.
1:07:41 Fungsi gabungan ini kemudian bisa
1:07:43 digunakan untuk membuat variabel String baru sejak apa
1:07:46 yang dikembalikannya secara teknis adalah sebuah string.
1:07:49 Variabel akan diatur ke apapun dikembalikan dari gabunganString.
1:07:55 Jenis fungsi terakhir adalah yang melakukannya tidak mengembalikan apapun,
1:07:58 dan ini dikenal sebagai
1:07:59 Fungsi "void".
1:08:00 Seringkali demikian seperti fungsi printStats yang kita buat sebelumnya,
1:08:05 hanya digunakan untuk memadatkan cetakan dalam jumlah besar
1:08:07 pernyataan yang sering muncul di kode Anda.
1:08:10 Ini tidak dapat disetel ke variabel sejak
1:08:12 mereka jangan mengembalikan apapun dan dapatkan kodenya
1:08:15 di dalam mereka dijalankan.
1:08:17 Jadi begitulah, 4 jenis fungsi.
1:08:19 Orang yang menerima argumen dan mengembalikan sesuatu,
1:08:23 orang yang menerima argumen dan tidak kembali sesuatu,
1:08:25 yang tidak membutuhkan argumen
1:08:27 tapi tetap mengembalikan nilai,
1:08:29 dan yang itu mengambil argumen dan tidak mengembalikan apapun.
1:08:32 Masing-masing dari 4 jenis fungsi ini berguna dan unik
1:08:35 dengan caranya sendiri dan Anda mungkin akan melakukannya
1:08:37 temukan diri Anda menggunakannya di seluruh perjalanan pemrograman,
1:08:39 jadi biasakan dengan yang berbeda
1:08:41 jenis fungsi dan tahu cara membuatnya kebanyakan dari mereka,
1:08:44 karena mereka semua sangat kuat.
1:08:46 Terakhir,
1:08:46 saya ingin berbicara tentang salah satu file manfaat utama dari fungsi,
1:08:50 yaitu itu itu membuatnya sangat berguna untuk membuat perubahan
1:08:52 besar ke kode Anda tanpa harus melalui
1:08:55 seluruh program.
1:08:56 Setiap panggilan fungsi hanya salinan dari kode asli fungsi itu,
1:09:01 sehingga sangat mudah untuk membuat perubahan
1:09:04 fungsi dan menerjemahkannya ke seberang
1:09:06 kode Anda.
1:09:06 Mari kembali ke printStats kita() berfungsi
1:09:09 dan mengatakan bahwa Anda ingin kembali
1:09:11 dan menambahkan stat baru yang pemain bisa
1:09:14 naik level melalui pengalaman dalam game.
1:09:17 Tanpa fungsi, Anda harus kembali ke kode Anda,
1:09:19 temukan setiap contoh yang Anda miliki
1:09:21 mencetak statistik pengguna,
1:09:22 dan membuat yang lain cetak pernyataan untuk menampilkan statistik baru.
1:09:26 Namun, jika Anda telah membuat printStats() berfungsi seperti
1:09:29 yang kita lakukan beberapa waktu lalu,
1:09:31 semua yang perlu Anda lakukan adalah menemukan tempat yang Anda
1:09:34 tentukan fungsi itu dan tambahkan dalam pernyataan cetak
1:09:36 yang menampilkan statistik baru dan Anda selesai, bam.
1:09:39 Sekarang, setiap tempat yang pernah disebut
1:09:42 fungsi printStats sebelumnya sekarang juga mencetak statistik baru.
1:09:46 Kamu dapat melihat seberapa kuat fungsi dapat digunakan dengan benar,
1:09:50 dan kami bahkan belum menggaruk
1:09:51 permukaan.
1:09:53 Sekarang, selanjutnya kita akan membahas bagaimana kita
1:09:55 dapat mengimpor fungsi orang lain itu
1:09:57 mereka telah menulis dan menggunakannya dalam kode kita.
1:10:00 Sekarang sebelum kita membahas teknis,
1:10:01 tutup mata Anda dan bayangkan Anda mencoba membangun rumah.
1:10:04 Tentu, Anda bisa menumbuhkan pohon Anda sendiri,
1:10:06 potong turunkan kayu Anda sendiri, buat perkakas Anda sendiri dan
1:10:09 paku, dan membangunnya dari awal.
1:10:10 Tapi kenapa lakukan itu, ketika Anda bisa pergi ke tempat Anda
1:10:13 Home Depot dan beli bahan-bahan ini yang lain telah disiapkan untukmu.
1:10:17 Begitulah ide utama di balik mengimpor fungsi ke kode Anda.
1:10:20 Fungsi mengimpor memungkinkan Anda
1:10:22 untuk mendapatkan akses ke perpustakaan fungsi
1:10:24 itu orang lain telah membuatkan untukmu.
1:10:26 Ini berguna seperti kedengarannya.
1:10:28 Ada begitu banyak fungsi yang sangat berguna
1:10:31 program apa pun yang akan membawa Anda selamanya untuk menulis semuanya sendiri.
1:10:35 Untungnya, lainnya orang telah melakukan sebagian besar ini untuk kamu.
1:10:38 Dalam setiap bahasa pemrograman,
1:10:40 Anda bisa untuk menggunakan pernyataan import untuk mengimpor perpustakaan
1:10:43 fungsi ke dalam program Anda yang Anda bisa gunakan saat Anda menulisnya.
1:10:46 Perpustakaan hanyalah kumpulan fungsi yang semuanya memiliki tema yang sama.
1:10:50 Ini mungkin a perpustakaan matematika, perpustakaan analisis data,
1:10:53 perpustakaan yang menerjemahkan teks, atau apapun yang Anda
1:10:56 bisa memikirkan benar-benar.
1:10:57 Ada keragaman seperti itu perpustakaan untuk bahasa tertentu yang paling banyak
1:11:01 fungsi yang Anda perlukan yang tidak terlalu spesifik
1:11:03 ke program Anda mungkin dapat ditemukan di beberapa
1:11:06 Perpustakaan.
1:11:06 Faktanya, sebagian besar dari programmer mana pun Pekerjaan
1:11:09 mencari online untuk paket yang bisa
1:11:11 membuat pekerjaannya lebih mudah daripada menulis tangan fungsi.
1:11:14 Sekarang, saya dapat mendengar Anda berkata, "Wow,
1:11:17 itu sakit, bagaimana saya melakukannya?
1:11:20 Baiklah cukup sederhana: pernyataan impor.
1:11:23 Dalam kebanyakan bahasa, pernyataan import terdiri dari 3 bagian.
1:11:26 Perpustakaan yang Anda inginkan
1:11:28 impor dari, paket yang Anda inginkan impor dari pustaka itu, lalu kelas mana
1:11:33 dari paket yang ingin Anda gunakan.
1:11:35 Untuk Misalnya, kita dapat memuat pustaka Java,
1:11:38 dan dari sana impor paket util, pendek untuk utilitas, lalu dari utilitas itu
1:11:43 paket impor kelas pemindai, kelas yang memungkinkan kami membaca informasi dari
1:11:48 pengguna.
1:11:48 Paket hanyalah sekte yang lebih kecil
1:11:50 fungsi dan metode untuk membantu membedakan
1:11:52 di antara ribuan metode yang terkandung di perpustakaan,
1:11:55 dan kelas bahkan lebih terspesialisasi
1:11:57 daripada itu.
1:11:59 Sekarang jika Anda tidak tahu kelas khusus
1:12:01 apa Anda akan ingin menarik metode dari,
1:12:04 Anda dapat menggunakan bintang* untuk mengimpor semua
1:12:06 kelas dalam paket yang Anda inginkan.
1:12:08 Namun, akan bermanfaat untuk lebih spesifik,
1:12:10 dan hanya impor kelas yang Anda inginkan,
1:12:12 karena membantu efisiensi program dalam jangka panjang.
1:12:16 Misalnya, dalam python,
1:12:18 sintaks untuk mengimpor pustaka diikuti impor dengan nama perpustakaan.
1:12:22 Namun, mengimpor file seluruh perpustakaan lebih membebani secara
1:12:27 komputasi daripada mengimpor fungsi tertentu dari perpustakaan.
1:12:31 Bayangkan Anda hanya akan menggunakan faktorial
1:12:33 fungsi dari perpustakaan matematika python.
1:12:35 Ini akan membuang-buang daya komputasi mengimpor seluruh perpustakaan,
1:12:37 dan akan meningkat waktu buka untuk program Anda.
1:12:40 Untuk yang lebih kecil program, ini bukan masalah besar, tapi itu
1:12:43 benar-benar mulai bertambah ketika berhadapan dengan proyek yang lebih besar.
1:12:46 Oleh karena itu, Anda akan melakukannya
1:12:48 gunakan "dari faktorial impor matematika"
1:12:51 atau setara java "import java.math.factorial",
1:12:55 dan sekarang memiliki akses ke satu perintah matematika itu hanya.
1:12:57 Ini membatasi fungsi yang Anda bisa
1:12:59 digunakan, namun menghemat waktu proses pemrograman.
1:13:01 Jika Anda memutuskan ingin menggunakan fungsi lain
1:13:03 yang tidak Anda rencanakan, Anda selalu bisa kembali dan impor itu juga.
1:13:08 Berkali-kali, jika Anda mencoba menggunakan fungsi dari
1:13:10 paket umum dan Anda belum mengimpornya,
1:13:12 file IDE akan meminta Anda untuk melakukannya.
1:13:15 Jika Anda mencoba mencari tahu perpustakaan mana yang ingin Anda impor,
1:13:18 pikirkan fungsinya yang Anda perlukan dalam program Anda.
1:13:21 Melakukan pencarian google sederhana, dan Anda mungkin akan melakukannya
1:13:23 mengalami paket atau pustaka yang sudah ada di IDE Anda yang dapat Anda gunakan.
1:13:28 Dan jika Anda tidak bisa,
1:13:30 ada cara untuk mengunduh dan impor proyek
1:13:32 tambahan agar sesuai dengan kebutuhan Anda.
1:13:34 Tetapi jika setelah semua itu Anda masih tidak
1:13:36 bisa temukan perpustakaan yang berisi fungsi tersebut
1:13:38 Anda sedang mencari?
1:13:39 Nah, itu sempurna segway ke dalam apa yang akan kita bicarakan
1:13:42 selanjutnya yang merupakan struktur dasar untuk menulis fungsi Anda sendiri.
1:13:47 Jadi pada titik ini kita telah membicarakan keduanya
1:13:49 apa fungsinya dan bagaimana kita bisa mendapatkannya
1:13:51 fungsi yang sangat berguna dengan mengimpor fungsi melalui paket.
1:13:54 Tapi pasti ada akan menjadi momen dalam perjalanan
1:13:56 pemrograman Anda di mana Anda ingin menjadikannya
1:13:58 memiliki fungsi sendiri karena Anda ingin membuatnya
1:14:01 khusus untuk program dan kode Anda.
1:14:04 Untunglah, membuat fungsi Anda sendiri sangatlah sederhana,
1:14:06 hanya ada beberapa aturan dasar yang saya inginkan
1:14:08 penutup.
1:14:08 Sekarang sementara kita sebelumnya telah menggunakan pembuatan
1:14:11 berfungsi sebagai contoh untuk topik lain seperti
1:14:14 sebagai fungsi playerStats dari sedikit sedikit yang lalu,
1:14:17 mereka sangat abstrak dan
1:14:18 tidak membahas secara mendalam apa yang
1:14:20 dibutuhkan untuk fungsi aktual untuk beroperasi.
1:14:22 Jadi sekarang kita akan membahas sistem
1:14:24 kerangka dari semua yang perlu disertakan
1:14:26 fungsi untuk membuatnya bekerja.
1:14:30 Sekarang pikirkan kembali 4 jenis fungsi yang kita bicarakan sebelumnya.
1:14:34 Fungsi yang melakukan dan tidak mengembalikan nilai
1:14:36 dan fungsi yang dilakukan dan tidak dilakukan
1:14:38 dalam argumen.
1:14:38 Untuk membuat fungsi Anda sendiri, kami hanya akan turun daftar dan
1:14:42 berbicara tentang cara pendekatan untuk membuatnya,
1:14:44 dimulai dengan yang paling dasar dari kelompok itu,
1:14:47 salah satu yang tidak membutuhkan argumen dan tidak mengembalikan nilai-nilai,
1:14:51 tapi sebelum kita memulai itu, ada
1:14:53 beberapa hal kecil yang ingin saya perhatikan tentang fungsi konvensi penamaan.
1:14:57 Konvensi penamaan variabel kita bicarakan sebelumnya
1:14:59 juga menerjemahkan ke nama fungsi.
1:15:01 Jadi Anda tidak bisa memiliki
1:15:03 fungsi dua kata dan Anda tidak dapat
1:15:05 menggunakan khusus karakter seperti titik atau koma.
1:15:08 Umumnya Anda akan ingin mengikuti hal yang
1:15:10 sama Gaya camelCase yang kita bicarakan di
1:15:12 variabel video.
1:15:16 Baiklah, jadi secara umum untuk membuat fungsi,
1:15:20 setiap bahasa membedakan cara Anda mengatakannya
1:15:23 komputer itu adalah sebuah fungsi.
1:15:25 Di java Anda harus menentukan ruang lingkup fungsi, yang
1:15:29 adalah sesuatu yang tidak benar-benar perlu Anda ketahui
1:15:31 kecuali jika Anda ingin berinvestasi lebih banyak
1:15:32 di java, tapi pada dasarnya ia memberitahu komputer bagian
1:15:35 kode mana yang dapat menggunakan fungsi dan
1:15:38 tipe mana yang tidak bisa.
1:15:40 Untuk seri ini semuanya fungsi kami akan menjadi publik.
1:15:43 Dari di sana Anda kemudian menentukan jenis fungsinya itu,
1:15:46 jadi dalam kasus ini karena tidak akan
1:15:48 mengembalikan variabel apa pun yang akan kami batalkan
1:15:50 untuk menandakan jenis fungsi ini tidak akan
1:15:52 mengembalikan apapun.
1:15:53 Terakhir, Anda meletakkan file nama fungsi setelah dua pengenal tersebut
1:15:57 bersama dengan satu set tanda kurung setelah suka begitu.
1:16:00 Tanda kurung adalah tempat argumen Anda
1:16:02 akan pergi jika Anda membuat fungsi itu mengambil argumen,
1:16:05 tapi sejak pertama kami
1:16:06 jenis fungsi yang tidak kami gabungkan argumen ke dalam fungsi ini,
1:16:10 mari kita pergi kosong itu.
1:16:11 Semua itu hanya untuk Java;
1:16:13 Python di sisi lain yang Anda lakukan hanyalah meletakkan
1:16:17 def, singkatan dari define, lalu fungsinya nama dengan satu set tanda kurung.
1:16:22 Jadi seperti kamu bisa lihat, setiap bahasa akan berbeda,
1:16:25 tapi hal utama yang ingin kami ingat adalah
1:16:29 untuk selalu menambahkan tanda kurung.
1:16:30 Dari sana, kami cukup ketik apa yang kita inginkan untuk fungsi void kita
1:16:34 lakukan dalam batasan fungsi dan lalu tutup loop dan selesai,
1:16:38 mudah sekali.
1:16:39 Di Java, batasan loop akan menjadi apa pun yang terkandung di dalam
1:16:42 tanda kurung keriting,
1:16:43 dan dengan python itu akan sampai Anda tidak lagi menjorok ke dalam.
1:16:47 Pada intinya,
1:16:47 ini adalah jenis fungsi yang paling primitif kami baru saja membuat.
1:16:50 Sesuatu yang mempengaruhi tidak ada argumen dan tidak mengembalikan nilai,
1:16:53 cukup mirip dengan fungsi printStats dari sebelumnya
1:16:56 di.
1:16:58 Pindah ke jenis fungsi berikutnya, membuat fungsi kosong yang menerima argumen.
1:17:02 Sekarang proses ini akan terlihat sangat mirip
1:17:05 ke sebelumnya kecuali untuk satu penyesuaian kecil.
1:17:08 Ingat tanda kurung yang saya sebutkan seperti 30 detik yang lalu,
1:17:11 kami menempatkan variabel apa saja
1:17:12 kami ingin pengguna masuk ke fungsi tersebut ke dalam tanda kurung ini,
1:17:16 lalu saat kita "memanggil"
1:17:17 fungsi spesifik itu,
1:17:18 itu akan dibutuhkan agar variabel-variabel tersebut dilewatkan ke dalamnya.
1:17:22 Untuk Misalnya, di Java,
1:17:23 mari buat sebuah fungsi yang mengambil 2 angka dan mencetak
1:17:26 produk dari angka-angka itu.
1:17:28 Kami mulai dengan public void ditambah nama pengaturan fungsi sejak
1:17:32 sekali lagi, kami tidak akan mengembalikan nilai apa pun.
1:17:35 Dan sekarang hadir bagian baru.
1:17:36 Di dalam tanda kurung,
1:17:37 Anda menentukan jenis variabel yang Anda
1:17:40 inginkan untuk diteruskan sebagai argumen,
1:17:41 dalam hal ini integer,
1:17:43 dan kemudian nama untuk variabel itu.
1:17:45 Nama ini adalah apa yang akan Anda gunakan untuk merujuk ke bilangan bulat
1:17:48 pengguna masuk.
1:17:49 Untuk contoh ini mari sebut saja num1.
1:17:51 Kemudian jika kita ingin menambahkan
1:17:54 argumen lain, kami cukup menambahkan koma antara keduanya dan
1:17:56 kita bisa membuat bilangan bulat lain
1:17:58 variabel num2 untuk menampung angka kedua.
1:18:01 Kita dapat melakukan ini untuk banyak variabel
1:18:03 ingin masuk ke fungsi tersebut,
1:18:05 tapi untuk saat ini mari kita tutup tanda kurung dan adil
1:18:08 cetak produk dari num1 dan num2.
1:18:10 Seperti kamu bisa lihat, kita mengacu pada dua nomor pengguna
1:18:14 akan memasukkan fungsi sebagai num1 dan num2.
1:18:19 Sekarang, kapan pun kita ingin memanggil multiplyNumbers berfungsi,
1:18:25 kita hanya perlu memastikan bahwa kita
1:18:29 menempatkan 2 angka sebagai argumen.
1:18:31 Di kasus ini angka 5 menjadi num1, dan
1:18:34 angka 8 menjadi num2.
1:18:36 Dari situ kita sederhana jalankan kodenya dan angka 40 dicetak
1:18:39 ke konsol.
1:18:40 Penting untuk dicatat itu Anda juga
1:18:42 dapat mencampur dan mencocokkan variabel saat
1:18:44 membuat argumen.
1:18:45 Jadi Anda bisa memiliki beberapa fungsi yang mengambil karakter,
1:18:49 integer, dan dua string semua dalam satu fungsi.
1:18:51 Cukup rapi menurutku.
1:18:52 Hal terakhir yang ingin saya sebutkan
1:18:54 tentang argumen adalah ketika Anda memanggil fungsi
1:18:56 Anda harus mengikuti variabel yang Anda tentukan
1:18:58 saat membuat fungsinya.
1:18:59 Jadi untuk multiplyNumbers kami fungsi Anda tidak bisa memasukkan string dan
1:19:03 lalu int.
1:19:04 Ini HARUS menjadi dua bilangan bulat karena itulah yang diharapkan komputer
1:19:08 diteruskan ke fungsi tersebut.
1:19:11 Jadi sekarang kita telah membahas cara
1:19:12 membuatnya fungsi yang tidak mengembalikan variabel,
1:19:14 we harus menutupi mereka yang melakukannya,
1:19:16 dan kami akan mulai dengan orang-orang yang tidak menerima argumen.
1:19:18 Sekarang perbedaan utama antara mendefinisikan fungsi yang
1:19:21 mengembalikan variabel dan mendefinisikan yang itu
1:19:23 tidak adalah bahwa dalam beberapa kasus Anda harus
1:19:26 menentukan bahwa Anda ingin fungsi ini mengembalikan integer
1:19:29 variabel, ini paling umum digunakan di Java,
1:19:31 di mana Anda akan mengganti "void" dengan "int"
1:19:34 untuk memberi tahu komputer bahwa Anda menginginkan fungsi
1:19:36 ini untuk mengembalikan sesuatu kepada Anda dalam bentuk
1:19:38 dari sebuah integer.
1:19:39 Ini bekerja sama seperti jika Anda ingin mengembalikan string, char, atau bahkan
1:19:44 Himpunan.
1:19:44 Anda cukup mengganti kata setelah umum dengan
1:19:46 variabel apa pun yang ingin Anda kembalikan
1:19:49 berdasarkan fungsinya.
1:19:51 Hal terpenting untuk diingat membuat fungsi yang mengembalikan variabel
1:19:55 bahwa tidak peduli jalan mana yang diambil kode Anda,
1:19:57 itu HARUS mengembalikan variabel TIDAK PEDULI APA.
1:19:59 Apa artinya ini?
1:20:00 Nah, katakanlah Anda memiliki beberapa fungsi String dalam game dan di dalamnya
1:20:05 dari itu ada pernyataan jika di mana jika skor pemain di atas 10, Anda kembali
1:20:09 pesan ucapan selamat.
1:20:10 Ini bekerja dengan baik jika Anda mencetak hasil dari fungsi ini dan
1:20:14 skor pemain di atas 10.
1:20:16 Tapi, jika playerScore kurang dari 10 dari Anda
1:20:18 jangan masukkan pernyataan if dan kemudian Anda
1:20:20 tidak memiliki sesuatu yang siap untuk dikembalikan
1:20:22 kepada pengguna dan fungsinya akan memberi Anda kesalahan.
1:20:24 Anda HARUS memiliki semua milik Anda
1:20:26 jalur tertutup yang mungkin tampak sederhana,
1:20:28 tetapi jika Anda membuat fungsi dengan pernyataan switch
1:20:31 di dalamnya mengandung banyak kasus, ini bisa lepas kendali dengan cepat.
1:20:35 Sesuatu yang aku suka
1:20:36 untuk dilakukan hanya untuk memastikan hal ini tidak
1:20:38 terjadi adalah meletakkan pernyataan pengembalian di bagian bawah
1:20:40 fungsi dengan string atau integer jadi unik
1:20:42 bahwa saya dapat memberi tahu kode itu
1:20:44 tidak berjalan dengan baik dan dapat memperbaikinya.
1:20:51 Itu poin utama yang saya coba sampaikan,
1:20:57 selalu menutupi pintu keluar Anda dan selalu lakukan
1:21:00 pernyataan pengembalian disiapkan untuk kasus apa pun
1:21:02 pengguna mungkin melempar Anda.
1:21:03 Hal kecil lainnya yang perlu diperhatikan adalah Anda tidak
1:21:05 bisa kembalikan satu jenis variabel jika Anda sudah melakukannya
1:21:07 mendefinisikan fungsi untuk mengembalikan tipe lain.
1:21:10 Misalnya Anda tidak dapat mengembalikan string
1:21:12 fungsi integer atau sebaliknya.
1:21:14 Kembalinya pernyataan harus selalu cocok dengan jenis fungsinya
1:21:17 apapun yang terjadi.
1:21:19 Jenis fungsi terakhir adalah fungsi yang
1:21:21 mengembalikan variabel dan juga mengambil argumen,
1:21:23 dan untuk ini semua yang perlu Anda lakukan adalah
1:21:26 menggabungkan apa kami telah belajar dari kasus sebelumnya.
1:21:28 Pertama, Anda menetapkan argumen Anda di antara tanda kurung,
1:21:31 memastikan Anda juga telah menentukan variabel apa
1:21:33 Anda ingin kembali,
1:21:34 dan kemudian pastikan tidak peduli jalan mana yang diambil kode itu untuk Anda
1:21:38 selalu mengembalikan tipe variabel itu.
1:21:41 Bahwa menyimpulkan diskusi kita tentang fungsi.
1:21:43 Sebagai Anda mungkin bisa tahu,
1:21:45 fungsi adalah sangat subjek yang luas dan membutuhkan sedikit
1:21:48 praktik untuk memahami sepenuhnya,
1:21:50 yaitu mengapa nanti kami akan merekomendasikan beberapa situs web
1:21:53 Anda dapat menggunakan untuk berlatih ini lebih sulit topik.
1:21:58 Sekarang saya ingin mengganti persneling sedikit
1:22:00 dan lanjutkan diskusi kita dari awal
1:22:03 array.
1:22:03 Array, meski berguna,
1:22:05 bukan satu-satunya cara untuk menyimpan dan memanipulasi informasi.
1:22:09 Faktanya, ada banyak perbedaan cara menyimpan data dalam ilmu komputer termasuk
1:22:14 LinkedLists, Tumpukan, Antrian, Peta, Pohon, dan banyak lainnya juga.
1:22:21 Sekarang juga; meskipun, saya ingin membicarakannya 2 cara keren,
1:22:24 aneh, dan lucu untuk menyimpan data
1:22:26 yang belum kami bahas sebelumnya: ArrayLists dan kamus.
1:22:30 Tapi sebelum kita membahasnya,
1:22:32 mari kita sedikit review/ penguatan dari array.
1:22:35 Seperti yang mungkin Anda ingat,
1:22:37 array pada dasarnya adalah daftar nilai yang disimpan bersama.
1:22:40 Saat Anda menginisialisasi sebuah array,
1:22:42 Anda memberikannya ukuran, dan ukuran ini tetap.
1:22:44 Tidak akan dapat meningkatkan ukuran larik,
1:22:46 jadi ketika Anda membuat sebuah array, panjangnya adalah
1:22:48 terakhir.
1:22:49 Untuk mengakses nilai dalam array,
1:22:51 Anda mereferensikan mereka menggunakan indeks yang dimulai
1:22:54 di 0.
1:22:55 Artinya ini adalah item pertama dari sebuah larik tidak berada di posisi 1,
1:22:59 melainkan di posisi 0, dan posisinya biasanya disebut sebagai lokasi indeksnya.
1:23:05 Begitu, untuk menemukan item ke-n dalam sebuah array,
1:23:08 Anda akan melakukannya merujuknya sebagai lokasi indeks [n-1].
1:23:12 Namun, karena ukuran array tetap,
1:23:13 Anda punya untuk berhati-hati agar tidak merujuk posisi
1:23:16 yang melebihi ukuran total larik,
1:23:17 atau tambahkan terlalu banyak item ke dalamnya, karena ini akan terjadi
1:23:21 mengembalikan kesalahan.
1:23:22 Kami juga memiliki apa yang diketahui sebagai array dua dimensi,
1:23:26 yang merupakan larik yang masing-masing berisi larik indeksnya.
1:23:28 Atau, Anda bisa memiliki array
1:23:30 berisi array yang berisi array yang berisi array berisi array, tergantung apa
1:23:34 Anda coba lakukan.
1:23:36 Array multidimensi dapat berguna dalam program lanjutan untuk
1:23:39 mengatur volume nilai terkait yang luas.
1:23:41 Jika itu sama sekali membingungkan, lewati kembali ke
1:23:44 sebelumnya untuk diskusi lengkap kita tentang Array,
1:23:46 cap waktu akan ada dalam deskripsi.
1:23:48 Sekarang kita telah meninjau array, mari pergi ke daftar array.
1:23:52 Daftar array (atau hanya
1:23:53 daftar, dengan Python) dapat dianggap sebagai berkembang Himpunan.
1:23:57 Sebelumnya, kami telah menyebutkan bagaimana Anda harus berhati-hati untuk
1:23:59 mengatur ukuran yang sesuai dari array Anda dan
1:24:01 pastikan untuk hanya mereferensikan dan menambahkan nilai sedemikian
1:24:04 rupa sehingga Anda tetap dalam ukuran file
1:24:06 Himpunan.
1:24:06 Namun, dengan daftar array, ini tidak masalah.
1:24:09 Setelah Anda menginisialisasi arrayList,
1:24:11 secara naluriah memiliki ukuran 10,
1:24:13 tetapi jika Anda menambahkan nilai sedemikian rupa sehingga ukuran
1:24:16 arrayList melampaui 10 elemen, sebuah arrayList akan "tumbuh" sendiri, artinya
1:24:21 bahwa komputer akan mengalokasikan lebih banyak memori
1:24:23 ke array untuk meningkatkan ukuran totalnya
1:24:25 bahwa nilai-nilai baru dapat ditambahkan.
1:24:27 Ini sangat berguna jika Anda tidak mengetahui
1:24:29 jumlah nilai yang tepat yang akan digunakan array perlu menyimpan,
1:24:33 atau menginginkan kemampuan untuk menyimpan
1:24:34 nilai-nilai untuk isi hati Anda,
1:24:36 seperti membuat database dengan jumlah yang tidak diketahui
1:24:38 pengguna yang akan mendaftar.
1:24:40 Ada lebih banyak hal yang perlu diungkapkan arrayLists,
1:24:42 tetapi untuk seri tingkat permukaan ini,
1:24:44 hanya itu yang perlu Anda ketahui, jadi mari kita beralih ke kamus.
1:24:48 Sekarang ketika kita berbicara tentang kamus,
1:24:50 kita mungkin tidak merujuk pada buku tebal itu
1:24:52 telah tergeletak di sekitar rumah Anda yang memiliki ribuan definisi.
1:24:56 Dalam ilmu komputer, kamus
1:24:57 seperti array, karena menyimpan banyak nilai-nilai,
1:25:00 bagaimanapun nilainya sangat disimpan
1:25:02 berbeda.
1:25:02 Daripada direferensikan dengan posisi mereka dalam kamus secara linier,
1:25:06 setiap nilai terkait dengan nilai lain yaitu digunakan untuk mereferensikannya,
1:25:09 atau "kuncinya".
1:25:10 Karena tentang ini,
1:25:11 kita perlu membuang semua konsepsi kamus sebagai cara pandang linier
1:25:15 pada data, karena sebenarnya jauh lebih banyak cair dan saling bertukar.
1:25:19 Pada dasarnya, kami katakan
1:25:21 bahwa setiap posisi dalam kamus memiliki a pasangan kunci/ nilai.
1:25:25 Saat mereferensikan nilai dalam
1:25:26 kamus, Anda akan menggunakan kunci uniknya,
1:25:28 dan kamus akan memberi tahu Anda nilainya
1:25:31 yang terikat padanya.
1:25:32 Anggap saja seperti ini, setiap kali Anda menambahkan item ke kamus Anda,
1:25:36 komputer Anda membuat kotak buatan tangan untuk menyimpan data,
1:25:39 dan juga membuat permata
1:25:40 kunci, satu jenis, tidak ada yang seperti itu di dunia.
1:25:43 Dengan cara ini, hanya ada satu kunci itu
1:25:46 pergi ke kotak yang menyimpan bit tertentu informasi.
1:25:49 Karena setiap kunci harus unik,
1:25:51 menggunakan kembali kunci dalam kamus akan menghasilkan
1:25:53 dalam kesalahan dilempar karena memiliki dua
1:25:55 kunci yang persis sama akan membingungkan komputer untuk kotak apa,
1:25:59 atau sedikit informasi, kunci itu mengarah ke.
1:26:01 Namun,
1:26:02 Anda bisa menyimpannya nilai yang sama dalam beberapa pasangan kunci/ nilai,
1:26:05 karena semua kuncinya akan berbeda.
1:26:08 Sekarang seperti yang saya katakan, kamus lebih lancar,
1:26:10 membuatnya lebih mudah untuk diatur daripada array,
1:26:13 karena semuanya sudah diatur dengan cara yang lebih logis cara.
1:26:16 Artinya, lebih mudah ditemukan
1:26:17 nilai yang Anda cari saat Anda berada menggunakan kunci, bukan sekadar referensi
1:26:22 posisi mereka.
1:26:22 Izinkan saya menjelaskan apa yang saya maksud.
1:26:25 Bayangkan Anda memiliki kamus harga di
1:26:27 toko yang kuncinya adalah nama produk dan nilainya adalah harga barang tersebut.
1:26:31 Mungkin apel harganya 1 dolar, susu seharga 2 dolar, dan roti harganya 3 dolar.
1:26:35 Kamu bisa lihat itu
1:26:36 dalam kamus, setiap kunci adalah nama produk, dan setiap kunci sesuai dengan
1:26:41 harga setiap produk.
1:26:42 Jadi untuk mencari harga roti, yang perlu Anda lakukan hanyalah menelepon
1:26:45 kamus menggunakan kunci "roti", dan kamus akan mengembalikan nilainya
1:26:48 1.
1:26:48 Ini membuatnya sangat mudah untuk melacak nilai
1:26:50 melalui kode Anda sejak Anda bekerja dengan
1:26:51 nilai nyata daripada angka yang tidak berarti apa-apa bagimu.
1:26:55 Anda juga dapat memanipulasi banyak kamus cara
1:26:58 yang sama Anda dapat memanipulasi array dan
1:27:00 daftar array.
1:27:00 Anda dapat mengulang melalui kamus dan melakukan banyak operasi dan perbandingan
1:27:04 tentang nilai-nilai.
1:27:05 Jika Anda ingin mencari produk dengan harga paling tinggi misalnya bisa
1:27:09 iterasi melalui kamus untuk menemukan nilai yang
1:27:11 tertinggi di antara toko bahan makanan
1:27:12 menyimpan barang.
1:27:13 Array, daftar larik, dan kamus berguna dengan hak mereka sendiri,
1:27:17 seperti halnya jumlah massa
1:27:18 cara lain untuk menyimpan data,
1:27:20 dan masing-masing membanggakan keunggulan tertentu satu sama lain.
1:27:23 Kita sudah menutupi dasar-dasar 3, tetapi karena ada begitu banyak,
1:27:26 kami tidak punya waktu untuk membahas lebih dalam
1:27:28 ke masing-masing dan setiap dari mereka,
1:27:30 dan seterusnya untuk membantu Anda memahami dasar-dasar penyimpanan
1:27:32 informasi,
1:27:32 sekarang kita akan bicarakan salah satu fungsi terpenting yang dibutuhkan
1:27:35 untuk memahami array, yang sedang mencari algoritma.
1:27:38 Sekarang, ada banyak cara untuk menyimpan informasi dalam ilmu komputer, ada
1:27:43 bahkan lebih banyak cara untuk menelusuri daftar.
1:27:45 Mencari algoritma pada intinya adalah cara
1:27:47 di mana kita dapat melihat daftar nilai disimpan dalam larik,
1:27:50 ucapkan daftar nama pasien
1:27:52 atau daftar skor tinggi, dan temukan yang tertentu sepotong data.
1:27:56 Tujuan dari algoritma pencarian
1:27:57 adalah dengan memberikan string atau objek yang
1:28:00 Anda inginkan untuk ditemukan dan dikembalikan
1:28:02 indeks larik yang berisi string itu atau objek secepat mungkin.
1:28:06 Sekarang ini mungkin tampak sederhana,
1:28:08 tetapi banyak perangkat lunak yang berjalan
1:28:10 tulang punggung untuk dapat menelusuri
1:28:11 mendaftar dengan sangat cepat,
1:28:13 melakukan pencarian algoritma, dan khususnya pencarian efisien
1:28:17 algoritma, topik penting untuk dibahas.
1:28:19 Selain itu, ini adalah fungsi utama yang menyusun
1:28:22 digunakan untuk dan merupakan tulang punggung banyak
1:28:24 dari metode yang digunakan dengan arrayLists juga
1:28:27 banyak metode penyimpanan lainnya, jadi pahami mereka akan membawa Anda jauh.
1:28:32 Biasanya algoritma pencarian digunakan untuk
1:28:34 mengembalikan indeks titik data tertentu
1:28:36 sehingga dapat digunakan, dimodifikasi, diperbarui atau diperiksa.
1:28:40 Misalnya, jika Anda tentang
1:28:42 untuk memeriksa ke rumah sakit yang dijalankan dengan sistem array untuk pasien,
1:28:45 staf harus mencari Anda
1:28:46 nama dalam database dan dengan mengembalikan indeks di mana nama Anda,
1:28:50 mereka sekarang memiliki
1:28:51 angka terukur yang dapat mereka gunakan dengan mudah memeriksa Anda,
1:28:55 menyewakan resep,
1:28:56 menjadwalkan Anda untuk pemeriksaan, memperbarui pribadi Anda informasi, dll.
1:28:59 tanpa harus mencari melalui daftar nama Anda setiap saat.
1:29:03 Anda mungkin berpikir bahwa ada sedikit perbedaan antara algoritma pencarian,
1:29:06 sejak komputer saat ini dapat melakukan jutaan kalkulasi per detik,
1:29:10 tetapi jika Anda bernilai multi-miliar
1:29:12 perusahaan dolar mencoba menemukan yang pasti titik
1:29:14 data dalam daftar yang berisi ribuan
1:29:16 atau bahkan jutaan titik data,
1:29:18 perbedaan kecil dalam efisiensi akan membuat atau menghancurkan
1:29:21 pengalaman pengguna.
1:29:22 Bahkan peningkatan 1% efisiensi dapat berarti perbedaan besar dalam
1:29:27 jumlah waktu yang pengguna menunggu untuk yang sederhana tugas.
1:29:30 Sekarang sebelum kita beralih ke berbagai jenis algoritma pencarian,
1:29:33 kita harus membedakan antara
1:29:34 dua keadaan bahwa array atau daftar bisa dalam,
1:29:37 baik diurutkan atau tidak diurutkan.
1:29:39 Daftar yang diurutkan informasi dicirikan oleh
1:29:41 beberapa jenis dari nilai peringkat,
1:29:44 apakah itu pasien ID, nomor kartu kredit,
1:29:47 atau bahkan menurut abjad nilai-nilai seperti nama pengguna atau nama resmi.
1:29:51 Sebuah daftar yang tidak disortir hanyalah
1:29:53 beberapa macam acak informasi terkait,
1:29:55 tidak diurutkan berdasarkan apa pun
1:29:56 urutan atau alasan tertentu.
1:29:58 Beberapa mencari algoritma hanya bekerja untuk daftar yang diurutkan, biasanya
1:30:02 yang lebih efisien,
1:30:03 dan sebagian lagi berfungsi baik daftar diurutkan dan tidak disortir,
1:30:07 meskipun ini biasanya kurang efisien.
1:30:08 Jika Anda berakhir mengejar ilmu komputer lebih jauh, Anda akan melakukannya
1:30:11 harus berurusan dengan baik yang diurutkan maupun yang tidak daftar,
1:30:14 jadi baik untuk mengetahui pencarian umum
1:30:16 praktik untuk keduanya Hal lain yang perlu diperhatikan
1:30:20 adalah yang kami tentukan efisiensi berbasis algoritma pencarian
1:30:23 baik pada skenario kasus terburuk maupun
1:30:25 rata-rata jumlah item yang harus dicari.
1:30:28 Kami menyebutnya Notasi Big O,
1:30:30 dimana setiap algoritma mencari memiliki persamaan yang berukuran
1:30:33 array sebagai integer n,
1:30:35 dan akan menampilkan nilai efisiensi skenario terburuk itu
1:30:38 dapat kita gunakan untuk membandingkan dengan pencarian lainnya algoritma.
1:30:42 Kemudian kita juga bisa melihat berapa lama;
1:30:44 rata-rata, yang diperlukan untuk menemukan elemen di sebuah daftar.
1:30:47 Menggunakan dua metode ini memungkinkan kita
1:30:49 untuk dengan mudah membandingkan seberapa efisien dua algoritma adalah.
1:30:52 Baiklah, sekarang kita punya beberapa latar belakang
1:30:54 tentang penelusuran, mari langsung ke sana.
1:30:57 Jenis pencarian pertama yang akan kita bicarakan
1:30:59 tentang disebut pencarian linier dan Anda
1:31:01 jujur mungkin menggunakan ini beberapa kali sepanjang hidup Anda.
1:31:04 Setiap kali Anda punya
1:31:05 untuk mencari nama Anda pada daftar orang Anda mungkin mengikuti pola yang sama.
1:31:08 Kamu mulai dari atas,
1:31:09 periksa untuk melihat apakah yang pertama nama dalam daftar adalah milik Anda,
1:31:13 jika memang demikian.
1:31:13 Bagus.
1:31:14 Jika tidak,
1:31:14 Anda beralih ke nama berikutnya di daftar sampai Anda menemukan nama Anda,
1:31:17 atau Anda jangan dalam hal ini Anda pergi.
1:31:20 Sebuah linier pencarian bekerja dengan cara yang sama, Anda mulai dengan
1:31:23 elemen pertama dalam daftar, bandingkan ke nilai yang Anda coba temukan,
1:31:27 dan jika mereka sama,
1:31:28 Anda telah menemukan file cocokkan dan kembalikan indeks elemen itu,
1:31:31 dan jika tidak, Anda melanjutkan ke elemen berikutnya dalam
1:31:33 daftar sampai Anda menemukan barang itu
1:31:35 Anda sedang mencari atau Anda kehabisan daftar untuk memeriksa.
1:31:38 Tampaknya cukup sederhana bukan?
1:31:40 Ini karena penelusuran linier sangat buruk dalam hal efisiensi, terutama dalam
1:31:44 skenario kasus terburuk.
1:31:45 Jika item Anda mencari dalam daftar adalah elemen terakhir,
1:31:49 Anda harus memeriksa semuanya daftar item
1:31:51 sebelum Anda menemukan yang Anda miliki
1:31:53 mencari.
1:31:53 Rata-rata; bagaimanapun, kamu akan mendapatkannya sekitar setengah jalan
1:31:57 daftar.
1:31:57 Ini membuat pencarian linier O (n) menjadi kasus terburuk skenario,
1:32:01 karena dalam kasus terburuk
1:32:03 itu akan mengambil seluruh panjang array,
1:32:05 atau n, untuk menemukan nilai yang benar.
1:32:07 Linier pencarian rata-rata akan mengembalikan yang benar indeks
1:32:11 dalam O (n/ 2) atau setengah dari daftar.
1:32:15 Pencarian linier sangat bagus; Namun,
1:32:16 sejak itu ini dapat bekerja dengan baik yang diurutkan maupun tidak
1:32:19 daftar,
1:32:20 karena fakta bahwa pada akhirnya akan mencakup setiap elemen dalam daftar.
1:32:24 Yang lain pencarian yang akan kita bahas membutuhkan
1:32:26 daftar diurutkan yang mungkin tampak seperti kekurangan,
1:32:29 tetapi memiliki daftar yang diurutkan memungkinkan Anda untuk
1:32:31 menggunakan algoritma yang jauh lebih efisien daripada
1:32:33 pencarian linier.
1:32:33 Jadi secara keseluruhan,
1:32:34 linier pencarian adalah algoritma pencarian dasar yang baik
1:32:37 untuk jika Anda memiliki daftar yang tidak disortir,
1:32:39 tetapi jika Anda daftar diurutkan, ada cara yang lebih efisien
1:32:42 opsi di luar sana untuk Anda,
1:32:44 seperti biner cari yang akan kita bicarakan sekarang.
1:32:47 Pencarian biner menggunakan proses rekursif untuk memecah
1:32:49 data dalam daftar Anda menjadi lebih banyak
1:32:51 dan byte yang lebih mudah dikelola,
1:32:53 memanfaatkan fakta bahwa itu diurutkan, untuk
1:32:56 temukan item yang Anda cari lebih cepat.
1:32:58 Yang ini jauh lebih sulit untuk membungkus kepalamu
1:33:00 sekitar jadi mari kita mulai dengan sebuah contoh.
1:33:03 Ayo katakanlah Anda memiliki daftar 10 nama yang diurutkan menurut abjad,
1:33:06 seperti yang ditampilkan di layar sekarang,
1:33:08 dan Anda inginkan untuk menemukan nama Anda dalam daftar itu.
1:33:11 Dalam biner cari, pertama-tama Anda akan mencari yang paling tengah nama,
1:33:14 dalam hal ini yang ada di indeks ke-4.
1:33:17 Sebentar saja, karena tidak ada yang "benar" tengah,
1:33:21 komputer secara otomatis menggunakan
1:33:24 selanjutnya turun sebagai nilai "tengah".
1:33:26 Sekarang, setelah Anda menemukan nilai tengah Anda, Anda yang pertama
1:33:29 periksa untuk melihat apakah nama yang Anda
1:33:32 cari untuk di indeks yang Anda pilih,
1:33:35 jika ya Anda hanya mengembalikan indeks itu,
1:33:38 tetapi 99,9% dari waktu itu belum termasuk sekarang, jadi
1:33:42 ayo lanjutkan.
1:33:43 Jika nilainya di tengah indeks TIDAK sama dengan yang Anda cari
1:33:48 untuk, Anda memeriksa untuk melihat apakah nilai Anda
1:33:51 pencarian dilakukan sebelum atau setelah tengah
1:33:54 indeks.
1:33:54 Misalnya, jika Anda sedang mencari nama Brendan dan nilai di tengah
1:33:59 indeks adalah Carl;
1:34:00 Brendan jelas datang sebelumnya matthew menurut abjad dan karena kita tahu
1:34:05 daftar diurutkan, yang bisa kita lakukan sekarang adalah mengabaikan
1:34:08 seluruh bagian bawah daftar dan adil
1:34:10 fokus di atas,
1:34:11 karena kita tahu kalau Brendan bahkan ada dalam daftar, itu akan masuk
1:34:15 bagian atas itu.
1:34:16 Sekarang, kami hanya memperlakukan bagian atas setengah dari
1:34:18 daftar sebagai entitas yang sama sekali baru
1:34:21 dan ulangi prosesnya lagi.
1:34:22 Lagi, kita akan menemukan elemen paling tengah dari ini
1:34:26 daftar nama baru dan bandingkan lagi dengan nama yang ingin Anda temukan.
1:34:29 Jika itu nama yang kami coba temukan, kami kembali indeks itu,
1:34:32 tetapi jika tidak kita bandingkan untuk melihat apakah
1:34:34 itu datang sebelum atau sesudah indeks tengah.
1:34:37 Kembali ke contoh kita, katakanlah
1:34:39 indeks tengah dari daftar baru ini adalah AJ.
1:34:42 Sekarang, kita tahu bahwa Brendan datang SETELAH AJ menurut abjad
1:34:46 jadi sekarang kita bisa mengabaikan bagian atas daftar karena
1:34:49 kita tahu bahwa Brendan akan menjadi seperti itu
1:34:52 di bagian atas daftar kami.
1:34:54 Sekarang kami ulangi ini proses lagi dan lagi hingga kami menemukan file
1:34:58 nama yang kami cari.
1:34:59 Jadi untuk contoh kita, indeks tengah kali ini adalah Brendan, dan
1:35:03 itulah yang kami cari, jadi kami akhirnya akan mengembalikan indeks 2.
1:35:08 Dalam pencarian biner, akhirnya indeks tersebut kita bandingkan dengan pencarian
1:35:11 kita istilah akan sama dan setelah itu,
1:35:13 kita bisa kembalikan indeks dan lanjutkan.
1:35:15 Sekarang jika tidak temukan itu, yang terjadi setelah kita melenyapkannya
1:35:18 keseluruhan daftar tanpa menemukan kami istilah pencarian,
1:35:21 algoritma hanya akan kembali
1:35:23 nilai null untuk memberi tahu Anda bahwa item
1:35:25 tersebut yang Anda cari tidak dapat ditemukan di
1:35:27 Daftar.
1:35:27 Pencarian biner jauh lebih cepat dan lebih efisien daripada pencarian linier
1:35:33 karena kami secara drastis menebang jumlah elemen yang harus kita lihat, buat
1:35:37 program berjalan lebih cepat.
1:35:39 Di hampir 99,9% kasus di mana daftar Anda diurutkan, biner
1:35:44 pencarian akan memberikan hasil lebih cepat daripada pencarian linier,
1:35:47 jadi jika Anda telah diurutkan
1:35:49 daftar, pilihan terbaik Anda adalah menggunakan biner.
1:35:52 Sebagai untuk efisiensi, pencarian biner adalah O (log
1:35:55 n) untuk skenario kasus terburuk yang mungkin
1:35:57 terjadi membingungkan jika Anda tidak sepenuhnya mengerti
1:36:00 logaritma, tetapi yang perlu Anda ketahui hanyalah itu
1:36:02 ini jauh lebih efisien daripada pencarian linier.
1:36:04 Skenario rata-rata sebenarnya juga O (log n) juga,
1:36:07 yang sekali lagi adalah waktu yang tak terbatas
1:36:10 lebih efisien daripada linier.
1:36:12 Sekarang,
1:36:13 sementara ada jenis pencarian lainnya algoritma yang dapat Anda gunakan,
1:36:16 keduanya adalah paling umum untuk daftar yang tidak diurutkan dan diurutkan,
1:36:20 jadi kami akan berhenti di situ sekarang.
1:36:22 Selanjutnya, kami akan menutupi salah satu yang paling
1:36:25 membingungkan dan topik penting dalam ilmu komputer,
1:36:28 pengulangan.
1:36:29 Mari kita mulai dengan pertanyaan terpenting: apa sebenarnya arti rekursi?
1:36:35 Dalam pemrograman,
1:36:36 rekursi mengacu pada fungsi yang berulang-ulang menyebut diri mereka sendiri.
1:36:39 Artinya, itu dalam instruksi
1:36:41 yang terjadi dalam suatu fungsi,
1:36:42 salah satu instruksi akan menjadi panggilan ke fungsi yang sama dengan Anda
1:36:45 sudah masuk Dalam contoh yang sangat primitif di layar Anda sekarang,
1:36:48 Anda dapat melihat kami memiliki beberapa
1:36:50 fungsi yang, dalam batasannya sendiri, menyebut dirinya sendiri.
1:36:54 Biasanya fungsi rekursif memperhitungkan beberapa
1:36:56 bilangan bulat sebagai argumen,
1:36:57 dan akan menggunakan ini untuk melaksanakan beberapa instruksi,
1:37:00 memodifikasi bilangan bulat yang dimasukkan,
1:37:02 sebelumnya memanggil dirinya lagi dengan bilangan bulat baru itu
1:37:04 sebagai argumennya.
1:37:05 Untuk lebih memahami fungsi-fungsi ini,
1:37:07 mari membahas dasar-dasar bagaimana kita melakukan pemrograman
1:37:10 salah satu fungsi rekursif dan buat satu diri kita sendiri.
1:37:11 Contoh mudah yang sangat bagus
1:37:12 dari fungsi rekursif adalah salah satu penjumlahan semua angka dari 1 sampai n,
1:37:16 jadi mari kita buat a
1:37:17 fungsi rekursif yang melakukan hal itu.
1:37:19 Itu hal pertama yang kami butuhkan adalah fungsi sebenarnya,
1:37:21 dan kami akan menjadikannya sebagai fungsi integer
1:37:24 yang mengambil bilangan bulat n sebagai argumen.
1:37:26 Alasan kami melakukan ini akan dijelaskan nanti tapi
1:37:29 untuk saat ini mari beralih ke kasus dasar.
1:37:31 Kasus dasar hanyalah nilai yang pasti semua pernyataan rekursif, yang ada
1:37:35 berulang kali dipanggil saat kita melalui fungsi, cobalah untuk menuju.
1:37:39 Pada awalnya fungsi,
1:37:40 kami menguji nilai itu diteruskan oleh argumen melawan pangkalan
1:37:44 kasus untuk melihat apakah itu puas.
1:37:45 Biasanya ini kasus dasar adalah beberapa persyaratan, seperti if
1:37:48 n, seperti yang saya jelaskan sebelumnya,
1:37:50 mencapai tertentu nilai atau sama dengan nilai tertentu.
1:37:53 Sangat penting bahwa kasus dasar diatur ke
1:37:56 beberapa persyaratan yang pada akhirnya akan n
1:37:59 bertemu untuk alasan yang sama pentingnya untuk menghindari loop tak terbatas:
1:38:03 kami tidak menginginkan tumpukan
1:38:05 terjadi kesalahan luapan.
1:38:06 Misalnya, jika file kasus dasar adalah berhenti memanggil rekursif
1:38:11 berfungsi ketika n lebih besar dari 100,
1:38:13 dan jika tidak, kita panggil fungsi lagi tapi
1:38:16 dengan n-1, dan kami mulai dengan n sebagai 99,
1:38:19 kami tidak akan pernah mencapai kasus dasar dan rekursif
1:38:22 fungsi akan berulang kali memanggil dirinya sendiri dan berulang kali,
1:38:25 mengurangi 1 dari n dan berharap bahwa entah bagaimana akhirnya akan
1:38:29 lebih besar dari 100 hingga komputer Anda mogok,
1:38:32 tidak menyenangkan.
1:38:32 Jadi lagian kembali ke rekursif kita jumlah contoh,
1:38:35 mari kita buat kasus dasar kita when
1:38:38 n kurang dari atau sama dengan 1.
1:38:40 Dengan cara ini, kita dapat mulai dari beberapa bilangan bulat positif n
1:38:43 dan kurangi darinya hingga mencapai atau sama 1,
1:38:46 dalam hal ini kita dapat keluar dari rekursif
1:38:49 pernyataan.
1:38:50 Keren.
1:38:50 Sekarang, jika n tidak kurang dari atau sama dengan 1,
1:38:54 yang ingin kita lakukan adalah return
1:38:56 jumlah dari kedua n dan kemudian nilai
1:39:00 yang kembali metode recursiveSum kami dikurangi 1.
1:39:03 Mengapa kami menambahkan n+ panggilan fungsi?
1:39:06 Baiklah benar-benar menjalankan fungsi seolah-olah kita
1:39:09 adalah komputer dan lihat mengapa.
1:39:11 Kami mulai dengan panggilan recursiveSum dengan n= 3.
1:39:14 Kita tahu bahwa 3 tidak kurang dari atau sama dengan 1
1:39:18 jadi sekarang kami mencoba mengembalikan jumlah rekursif dari n (yang
1:39:22 adalah 3) dan nilai kembali recursiveSum dengan n dari 2.
1:39:27 Kami tidak TAHU apa nilai kembali recursiveSum dengan n 2 adalah jadi kita punya
1:39:32 untuk menjalankan fungsinya lagi, hanya ini waktu n adalah 2.
1:39:36 Sekali lagi n tidak kurang dari atau sama
1:39:40 ke 1, dan fungsi ini akan masuk ke lain pernyataan dan kembali… 2 plus ANOTHER
1:39:46 pernyataan rekursif, dalam hal ini pengembalian nilai recursiveSum dengan n 1.
1:39:51 Jadi sekali sekali lagi kita harus melalui recursiveSum
1:39:55 berfungsi untuk mendapatkan nilai yang akan ditambahkan
1:39:57 ke 2 dan kemudian dikembalikan dan ditambahkan ke 3 dan lalu kembali.
1:40:02 Bertahanlah di sana kita sudah dekat.
1:40:04 Sekarang dalam fungsi ini,
1:40:06 n IS kurang dari atau sama menjadi 1 dan kami mengembalikan n, yaitu 1.
1:40:12 Sekarang kita ambil n itu, yang mana 1,
1:40:15 dan itu apa yang ditambahkan ke 2 di fungsi sebelumnya
1:40:18 menelepon dan kemudian kembali, jadi ini akan kembali 3.
1:40:22 Sekarang 3 inilah yang ditambahkan ke yang pertama
1:40:25 panggilan fungsi, yang tiga, dan itu menjadi tiga tambah tiga yaitu 6.
1:40:31 Dan AKHIRNYA setelahnya sepanjang waktu,
1:40:33 kami mendapatkan 6 dikembalikan dari fungsi.
1:40:35 Yang mana, jika Anda sudah lama mengikuti
1:40:38 di rumah, 3+ 2+ 1 memang 6.
1:40:41 Sekarang ini mungkin tampak seperti membuang-buang waktu sejak
1:40:45 1+ 2 +3 bukanlah operasi yang sulit.
1:40:47 Tapi untuk itu dari Anda mengatakan bahwa saya meminta Anda untuk memberi
1:40:51 saya jumlah semua angka dari 1 hingga 3.567.
1:40:55 Hasil positif.
1:40:56 Sekarang rekursi adalah SANGAT sulit
1:40:58 konsep untuk membungkus kepala Anda,
1:41:00 jadi jika Anda tidak 100% nyaman dengannya saat ini,
1:41:03 tolong baca ulang bagian kuliah ini untuk lebih membiasakan diri dengannya.
1:41:09 Baiklah, sekarang kita memiliki sedikit latar belakang pada rekursi,
1:41:12 mari kita bicara tentang mengapa ini berhasil
1:41:13 begitu baik.
1:41:14 Sekarang untuk memahami mengapa dan bagaimana rekursi bekerja,
1:41:17 pertama-tama kita harus memahami apa tumpukan
1:41:19 adalah.
1:41:20 Tumpukan adalah struktur data yang berisi semua
1:41:22 tugas yang Anda instruksikan pada program Anda
1:41:24 untuk menyelesaikan.
1:41:25 Berdasarkan metode tertentu, file Program kemudian akan menjalankan tugas Anda
1:41:29 memberikan.
1:41:30 Disebut stack karena kalau kita panggil start
1:41:33 proses lain sebelum yang sebelumnya selesai,
1:41:35 prosesnya "ditumpuk" di atas yang lain seperti animasi di layar Anda
1:41:40 sedang ditampilkan sekarang.
1:41:41 Program yang kami tulis akan mengikuti struktur LIFO.
1:41:45 Bagi mereka yang tidak terbiasa dengan akuntansi,
1:41:47 LIFO berarti terakhir masuk pertama, atau item terakhir
1:41:50 taruh di tumpukan akan menjadi yang pertama dihapus dari itu.
1:41:54 Intinya, setiap kali Anda menanyakan
1:41:56 komputer untuk menyelesaikan tugas, tugas itu ditambahkan ke tumpukan,
1:41:59 dan akan menjadi yang pertama
1:42:01 satu untuk diselesaikan.
1:42:02 Anggap saja seperti tumpukan batu, Anda bisa terus menambahkan batu di atasnya
1:42:06 tumpukan Anda, tetapi untuk mendapatkan yang dekat bagian bawah,
1:42:08 Anda harus menghapus semua file
1:42:10 batu di atasnya.
1:42:11 Sekarang saat fungsi Anda terus menerus memanggil dirinya sendiri tanpa akhir;
1:42:14 tanpa kasus dasar, seperti dalam contoh loop tak terbatas kami
1:42:18 maka tumpukan tidak akan pernah diselesaikan,
1:42:20 seperti item akan terus ditambahkan ke tumpukan
1:42:23 tanpa satupun dari mereka pernah diselesaikan.
1:42:25 Dalam hal ini, memori dialokasikan ke file tumpukan terlampaui,
1:42:29 dan kesalahan tumpukan meluap
1:42:31 terjadi, mengakibatkan program Anda macet.
1:42:34 Pikirkan ini seolah-olah Anda sedang melakukan pekerjaan rumah
1:42:38 dan sebelum Anda menyelesaikan satu tugas,
1:42:39 Anda mengerti dipanggil untuk melakukan tugas lain, lalu sebelumnya
1:42:42 Anda dapat menyelesaikan tugas yang membuat
1:42:43 Anda dipanggil lakukan satu sama lain.
1:42:45 Karena Anda terus menumpuk tugas atau tugas atas satu sama lain,
1:42:49 tumpukan tugas akan tidak pernah selesai dan Anda mungkin akan
1:42:53 mati sebelum menyelesaikan tugas apa pun.
1:42:56 Ini adalah logika yang sama yang membuat tak terbatas loop merusak program Anda.
1:43:00 Pekerjaan rekursi pada prinsip yang sama ini.
1:43:02 Panggilan awal membuat panggilan kedua yang ditambahkan ke
1:43:05 tumpukan, dan sekarang yang satu harus diurus pertama,
1:43:08 tetapi dalam fungsi satu sama lain
1:43:10 disebut yang akan ditambahkan ke tumpukan, dan begitu seterusnya,
1:43:13 sampai Anda mencapai base case di mana
1:43:15 Anda perlahan-lahan mulai turun kembali.
1:43:19 Kesimpulannya, rekursi secara umum sangat ekstrim berguna
1:43:22 karena dengan memanggil fungsi yang sama
1:43:24 berulang kali itu memecah masalah menjadi bagian yang lebih kecil,
1:43:28 dan menghasilkan program menjadi lebih efisien.
1:43:30 Bagian kecil dari masalah lebih mudah dipecahkan
1:43:33 dan lebih sedikit pajak untuk dihitung
1:43:35 dari seluruh masalah sekaligus,
1:43:36 dan komputer dapat menggabungkan solusi kecil ini ke dalam file
1:43:40 solusi utama pada akhirnya.
1:43:42 Sekarang saat kita mengakhiri pengantar pemrograman seri,
1:43:45 kami ingin meluangkan waktu dan pergi
1:43:47 beberapa soft skill yang dibutuhkan untuk menjadi sukses
1:43:49 ilmuwan komputer karena ini tidak semua tentang
1:43:51 menulis kode.
1:43:52 Padahal,
1:43:52 banyak komputer profesional ilmuwan akan memberitahu Anda bahwa mayoritas
1:43:56 pekerjaan mereka dihabiskan untuk memikirkan
1:43:58 kode daripada benar-benar menulisnya.
1:43:59 Hal ini karena banyak dari pemrograman bermuara pada masalah pemecahan.
1:44:03 Bagaimana kita mengoptimalkan sistem ini, bagaimana caranya
1:44:06 bisakah kita membuat fitur ini untuk aplikasi kita?
1:44:08 Apa jenis gerakan yang kami inginkan untuk permainan kami dan
1:44:10 bagaimana kita memprogramnya?
1:44:12 Kebenaran pahit adalah bahwa tidak ada program
1:44:14 yang bagus pernah ditulis hanya dari programmer
1:44:15 mendapatkan prompt atau ide, duduk, melompat ke IDE, dan mulai menulis kode.
1:44:21 Ada banyak tugas yang harus kita jalani
1:44:23 terlebih dahulu untuk merencanakan kode kita jadi
1:44:25 kami memastikan bahwa ketika waktunya tiba untuk program,
1:44:27 Ini adalah proses yang bersih dan mudah, dan tidak penuh teka-teki
1:44:30 dengan kesalahan dan bug.
1:44:32 Di sinilah pseudocode ikut bermain.
1:44:35 Pikirkan kodesemu seperti ini,
1:44:36 jika Anda mau untuk melakukan perjalanan keluarga ke grand canyon,
1:44:39 maukah Anda naik mobil dan mengemudi off dan mencari tahu nanti?
1:44:42 Tidak karena itu akan konyol.
1:44:44 Sebaliknya,
1:44:44 Anda akan melakukannya meluangkan waktu untuk merencanakan perjalanan, apa
1:44:48 situs atau tempat yang ingin Anda kunjungi?
1:44:50 Apa reservasi hotel harus Anda lakukan
1:44:52 membuat?
1:44:52 Hal-hal apa yang akan kamu lakukan lakukan ketika kamu sampai di sana?
1:44:55 Rute atau jalan raya apa
1:44:56 apakah kamu akan mengambil dan mengapa?
1:44:57 Semua ini hal-hal harus ditentukan sebelum Anda bisa
1:45:00 bahkan berpikir untuk melompat di penjelajah ford Anda.
1:45:02 Jadi, bagaimana ini diterjemahkan ke dalam kodesemu?
1:45:04 Nah, pikirkan perjalanan keluarga kita ke Grand Canyon sebagai program.
1:45:08 Pemrogram menggunakan pseudocode, arti semu tidak nyata, dan arti kode,
1:45:12 baik, kode, sebagai sarana untuk merencanakan program mereka
1:45:15 sebelum mereka menuliskannya,
1:45:16 seperti yang kami rencanakan perjalanan kami sebelum pergi.
1:45:19 Mereka membuang sintaks dan konvensi penamaan untuk variabel dan hanya
1:45:22 fokus pada apa yang mereka ingin program untuk capai,
1:45:25 dan bagaimana mereka berencana melakukan itu.
1:45:27 Pseudocode sangat mirip dengan membuat garis besar
1:45:30 untuk makalah yang Anda tulis.
1:45:32 Anda menulis topik utama esai dan rencana
1:45:34 poin pembicaraan utama Anda,
1:45:35 tetapi Anda tidak khawatir tentang detail seluk beluknya
1:45:38 semua seperti pilihan kata, konvensi tata bahasa, dan format yang tepat.
1:45:42 Dengan melakukan ini, kami mengizinkan
1:45:43 diri kita sendiri untuk berpikir bebas
1:45:45 dan tidak khawatir menekankan hal-hal kecil.
1:45:47 Setidaknya belum.
1:45:48 Baiklah, jadi sekarang kita tahu kodesemu APA adalah,
1:45:50 mari kita bicara tentang BAGAIMANA kita menulis pseudocode.
1:45:53 Anda tahu, bagian terbaik tentang pseudocode adalah yang
1:45:55 dapat berupa banyak bentuk yang berbeda
1:45:57 hal untuk banyak orang yang berbeda.
1:45:59 Setiap komputer ilmuwan mungkin memiliki metodologi sendiri
1:46:01 untuk merencanakan kode mereka, dan sejak itu mungkin ada ratusan metode berbeda
1:46:04 menulis kodesemu yang ada di luar sana,
1:46:07 hari ini saya ingin fokus pada 3 yang populer
1:46:10 yang menurut saya mungkin Anda anggap sangat ekstrem berguna.
1:46:13 Yang pertama dikenal sebagai diagram alur,
1:46:15 dan terutama mereka dapat digunakan untuk berpikir
1:46:17 proses fungsi tertentu.
1:46:18 Diagram alir pada dasarnya adalah representasi grafis
1:46:22 fungsi dan bagaimana itu bisa mengalir.
1:46:25 Banyak programmer melakukan ini, dan meletakkan kondisional
1:46:28 pernyataan dan loop yang mereka inginkan berbeda blok di diagram alir,
1:46:31 dihubungkan dengan panah dan memetakan setiap jalur fungsinya.
1:46:34 Dari sana, sangat mudah dibuat
1:46:36 uji kasus dan ikuti mereka sepanjang aliran fungsi melalui yang berbeda
1:46:40 balok dan panah.
1:46:41 Misalnya, kami bisa diagram alur yang berjalan seperti ini.
1:46:45 Seorang pengguna memasukkan nomor, dan jika nomor ini adalah 8,
1:46:49 saya ingin program mengembalikan True; namun,
1:46:51 jika angkanya bukan 8 maka saya ingin mengembalikan Salah.
1:46:54 Ini cara yang bagus untuk memvisualisasikan apa
1:46:56 tujuan keseluruhan fungsi adalah dan juga
1:46:58 mencari kesalahan yang mungkin Anda lewatkan
1:47:00 ketika memikirkan tentang fungsinya, seperti jalan yang hilang.
1:47:04 Ini juga mengabstraksikan pemrograman
1:47:06 pernyataan hingga blok sederhana,
1:47:07 membuatnya lebih mudah untuk dimodifikasi atau diubah sepenuhnya.
1:47:10 Itu bagian terbaiknya adalah,
1:47:12 setelah Anda selesai kasus pengujian Anda hanya dapat mengubah blok
1:47:16 menjadi pernyataan dan Anda memiliki yang
1:47:18 ditulis dengan baik berfungsi tanpa debugging.
1:47:21 Teknik pseudocode populer lainnya itu yang
1:47:23 sering digunakan adalah hanya menuliskan apa
1:47:25 Anda ingin kode Anda lakukan secara kronologis.
1:47:27 Jangan berpikir tentang pemrograman apa
1:47:29 pernyataan dan fungsi yang ingin Anda gunakan,
1:47:31 hanya mencatat, dari awal sampai akhir, apa
1:47:34 Ini adalah program yang sedang Anda tulis untuk melakukan langkah demi langkah.
1:47:38 Misalnya,
1:47:39 katakanlah Anda membuat aplikasi yang menggunakan dua angka dan membaginya.
1:47:42 Pseudocode untuk itu akan terlihat seperti ini.
1:47:45 Pertama Saya ingin meminta pengguna untuk memasukkan angka,
1:47:48 kemudian saya ingin menunggu pengguna untuk memasukkan nomor pertama.
1:47:52 Setelah saya mendapatkan nomor pertama,
1:47:54 Saya ingin sekali lagi meminta pengguna untuk memasukkan a nomor kedua.
1:47:57 Setelah mereka melakukannya, saya menyelesaikan
1:47:59 operasi dengan membagi dua angka yang
1:48:01 dimasukkan dan mengembalikan hasilnya kepada pengguna.
1:48:04 Ini semua sepertinya itu masuk akal,
1:48:06 tapi ingatlah bahwa seringkali kita tidak pergi
1:48:08 untuk bekerja dengan fungsi perkalian sederhana,
1:48:10 kami mungkin bekerja dengan game skala penuh, algoritme,
1:48:14 atau antarmuka pengguna dengan banyak opsi berbeda.
1:48:17 Metode ini memungkinkan Anda programmer untuk tidak melakukannya
1:48:20 macet dengan sintaks dan konvensi Anda harus mengikuti, Anda hanya membuat
1:48:24 sebuah catatan tentang apa tujuan akhir program tersebut seharusnya,
1:48:27 seolah-olah Anda sedang menjelaskannya kepada
1:48:28 temanmu.
1:48:28 Cara ini sangat memungkinkan Anda merencanakan segala sesuatu yang perlu terjadi
1:48:32 dalam program Anda agar dapat berjalan dengan lancar.
1:48:35 Ini juga memastikan Anda tidak melupakan file
1:48:37 bagian dari algoritme, atau fungsi tertentu yang perlu Anda tulis setelahnya.
1:48:42 Dan strategi pseudocode terakhir yang saya miliki
1:48:44 suka membicarakan hari ini adalah menulis
1:48:47 fitur utama yang Anda ingin pengguna miliki saat menggunakan program Anda,
1:48:50 dan apa fungsi atau
1:48:51 program kecil yang Anda perlukan lengkapi fitur tersebut.
1:48:54 Ayo lakukan yang lain
1:48:55 Misalnya, Anda membuat antarmuka perbankan dan saat memulai,
1:48:58 Anda ingin pengguna untuk pertama kali
1:49:00 memiliki 2 opsi berbeda.
1:49:02 Mereka bisa mengatur akun baru atau masuk ke akun yang sudah ada.
1:49:06 Dari sana, jika mereka masuk ke akun mereka Anda
1:49:08 kemudian ingin mereka memiliki fungsionalitas tersebut
1:49:10 untuk menarik uang, menyetor uang,
1:49:12 mengambil pinjaman, atau membayar kembali pinjaman.
1:49:14 Jika mereka memutuskan untuk menyiapkan akun baru,
1:49:17 Anda menginginkannya dapat membuat akun, menyimpannya
1:49:19 informasi dalam database,
1:49:21 dan kemudian akses semua fitur yang menjadi anggota kembali
1:49:24 pasti akan.
1:49:24 Ini mungkin terlihat sangat mirip dengan diagram alir,
1:49:28 satu-satunya perbedaan adalah ini
1:49:29 diabstraksi satu tingkat lebih tinggi,
1:49:32 lebih dari keseluruhan program daripada hanya satu fungsi.
1:49:35 Jika Anda benar-benar menginginkannya,
1:49:36 Anda juga bisa membuatnya diagram alur yang akan melalui fungsionalitas tersebut
1:49:40 dari semua 4 metode yang dijelaskan di atas.
1:49:42 Pengaturan naik hierarki seperti yang terlihat di layar Anda
1:49:45 sekarang memperjelas untuk melihat setiap fungsi
1:49:47 dan antarmuka yang harus Anda buat.
1:49:50 Ini mencegah Anda dari keharusan untuk mencoba dan sepatu
1:49:52 bot suatu fungsi atau fitur menjadi hampir selesai
1:49:54 Program pada detik terakhir tidak terlalu menyenangkan pengalaman sedikit pun.
1:49:59 Jadi begitulah, 3 strategi pseudocode Anda dapat menggunakan
1:50:02 untuk merencanakan kode Anda sebelum Anda
1:50:04 bahkan mulai menulis apapun.
1:50:05 Metode diagram alur, yang bagus untuk memikirkan arus
1:50:08 dari fungsi tertentu.
1:50:09 Metode penulisan, yang bagus untuk mendapatkan gambaran umum
1:50:12 down untuk program, atau perencanaan fungsionalitas metode,
1:50:16 bagus untuk mencantumkan fungsi
1:50:17 dari program tertentu.
1:50:18 Anda tidak dapat menggunakan satu pun dari mereka,
1:50:21 semuanya, campuran dari mereka, atau bahkan
1:50:22 abaikan ini dan temukan atau buat milik Anda sendiri.
1:50:25 Tujuan utamanya di sini adalah meminimalkan secara drastis
1:50:28 jumlah kesalahan yang terjadi selama Anda
1:50:30 pemrograman dan menghilangkan banyak stres
1:50:32 kepalamu.
1:50:32 Pentingnya pseudocode tidak bisa cukup stres, dan jika Anda tidak percaya
1:50:37 saya,
1:50:37 saya mendorong Anda untuk mencoba dan menyelesaikan yang besar proyek tanpa itu.
1:50:42 Ok, jadi kalo udah nonton serialnya sampai saat ini,
1:50:44 Anda mendapatkan hasil yang cukup bagus
1:50:46 pemahaman tentang banyak aspek pemrograman,
1:50:48 dan juga bagaimana merencanakan program Anda.
1:50:50 Sekarang saatnya untuk pergi ke dunia nyata, dan tulis beberapa kode sebenarnya.
1:50:56 Tapi program seperti apa?
1:50:57 Saya dapat mendengar Anda bertanya saya.
1:50:59 Dan jawabannya benar-benar apa pun yang Anda inginkan,
1:51:01 Betulkah.
1:51:01 Seperti yang saya yakin Anda tahu sekarang,
1:51:03 Anda dapat memprogram apa saja yang Anda miliki
1:51:05 di pikiran Anda, mulai dari game sederhana hingga perangkat lunak yang kompleks.
1:51:09 Kami telah melengkapi Anda dengan
1:51:10 dasar-dasar yang akan digunakan di cantik banyak program
1:51:12 apa pun yang Anda putuskan untuk ditulis.
1:51:15 Tapi itu tidak berarti setiap bahasa pemrograman sempurna untuk setiap aplikasi.
1:51:19 Setiap bahasa memiliki kekuatan dan kelemahannya sendiri,
1:51:22 dan sangat penting untuk memilih yang tepat
1:51:25 membuatnya lebih mudah, atau terkadang bahkan mungkin saja,
1:51:27 bagi Anda untuk memprogram apa yang Anda inginkan.
1:51:29 Jadi begitulah apa yang akan kita bicarakan sekarang:
1:51:32 memilih bahasa terbaik untuk apa yang ingin Anda capai.
1:51:34 Sekarang, kita berbicara sebelumnya tentang level rendah
1:51:37 versus bahasa pemrograman tingkat tinggi.
1:51:39 Dalam hal Anda lupa, ayo lakukan penyegaran cepat.
1:51:42 Bahasa pemrograman tingkat yang lebih tinggi memiliki a
1:51:45 abstraksi tingkat tinggi dari bahasa mesin, rangkaian 0 dan 1 dari masa lalu
1:51:49 ketika, sementara bahasa pemrograman tingkat rendah memiliki
1:51:52 tingkat abstraksi yang rendah dari mesin
1:51:55 bahasa.
1:51:55 Misalnya, blokir pemrograman di mana Anda menyeret
1:51:58 dan melepaskan pernyataan pemrograman bersama-sama
1:52:00 seperti lego 2d akan menjadi bahasa tingkat tinggi,
1:52:03 karena tidak membutuhkan tingkat pemahaman yang tinggi
1:52:05 cara kerja bagian dalam komputer untuk memprogram Itu.
1:52:08 Tingkat tertinggi teoritis dari suatu pemrograman
1:52:11 bahasa adalah jika saya bisa menulis apa
1:52:13 yang saya ingin komputer lakukan secara sederhana
1:52:15 bahasa Inggris dan itu hanya akan berhasil.
1:52:18 Tapi sayangnya, itu belum ada.
1:52:20 Di sisi lain spektrum,
1:52:22 pemrograman tingkat terendah bahasa hanya akan memberi makan 0 dan 1
1:52:26 ke komputer dengan kecepatan supersonik,
1:52:28 yang hampir tidak mungkin dan sangat tidak masuk akal.
1:52:32 Jadi, bagaimana Anda memilih jenis bahasa apa yang terbaik untuk kebutuhan Anda?
1:52:36 Tergantung apa yang Anda coba lakukan,
1:52:38 yang terkadang Anda butuhkan bahasa yang
1:52:40 sangat terspesialisasi untuk menyelesaikan apa
1:52:41 kamu ingin.
1:52:42 Dunia ilmu komputer adalah luas dan berisi banyak bidang, jadi berusaha
1:52:47 mencakup semuanya dalam satu bahasa akan mustahil.
1:52:50 Ini telah menyebabkan terciptanya
1:52:51 ribuan bahasa pemrograman yang berbeda
1:52:53 masing-masing dirancang untuk tugas tertentu.
1:52:56 Sekarang juga meskipun,
1:52:57 kami akan membahas beberapa yang paling populer bahasa dan penggunaannya.
1:53:01 Sekarang, jika Anda mencoba mendesain situs web,
1:53:03 dan mempelajari jalur karier tersebut, menggunakan HTML
1:53:05 dan CSS mungkin adalah pilihan terbaik Anda.
1:53:07 HTML adalah bahasa markup yang dirancang untuk menulis
1:53:10 konten situs web, sedangkan CSS sangat bagus untuk mendesain gaya situs web.
1:53:15 Kamu berinteraksi dengan kode HTML setiap hari dan Anda
1:53:18 bahkan dapat melihatnya sekarang jika Anda mengklik kanan
1:53:20 dan tekan elemen inspeksi,
1:53:22 ini akan benar-benar ditampilkan betapa rumitnya HTML dan CSS.
1:53:26 Mungkin akan lebih baik bagi Anda untuk menggunakan skrip bahasa.
1:53:29 Bahasa skrip adalah bahasa
1:53:30 yang memiliki banyak perintah untuk Anda gunakan dan
1:53:32 yang juga dapat dijalankan tanpa harus dijalankan
1:53:34 dikompilasi.
1:53:34 Skrip bisa lebih cepat untuk ditulis daripada program aktual,
1:53:38 dan cenderung lebih mudah
1:53:39 port antar sistem operasi memungkinkan untuk dukungan lintas platform.
1:53:44 Skrip juga bisa digunakan dengan situs web,
1:53:47 seringkali menambahkan ke pengalaman pengguna situs secara keseluruhan.
1:53:50 Jika kamu ingin masuk ke desain web,
1:53:52 ini mungkin juga menjadi jalan bagi Anda untuk turun.
1:53:55 Contoh dari bahasa scripting adalah Perl, PHP, Ajax, dan Javascript.
1:53:58 Jika Anda hanya ingin membuat tujuan umum program,
1:54:01 Anda mungkin harus menggunakan jenderal
1:54:03 bahasa tujuan.
1:54:04 Bahasa tujuan umum, seperti suaranya, memiliki berbagai aplikasi.
1:54:11 Biasanya ini harus menjadi bahasa tujuan Anda.
1:54:14 Contoh bahasa tujuan umum adalah
1:54:16 Java, C++, dan Python.
1:54:18 Mereka masing-masing memiliki memiliki keuntungan yang berbeda satu sama lain.
1:54:22 Jawa paling baik dalam mengembangkan game dan interaktif halaman web,
1:54:25 Python dapat bertindak sebagai bahasa skrip
1:54:28 untuk pemrograman web serta aplikasi penulisan dan analisis data.
1:54:31 Dan C++ paling baik untuk menulis
1:54:34 aplikasi dan program sistem.
1:54:35 Mereka semua memiliki berbagai paket yang dapat Anda impor
1:54:39 dan gunakan untuk mencapai fungsionalitas yang Anda butuhkan dari mereka.
1:54:42 Saat memilih jenderal yang tepat
1:54:43 bahasa tujuan untuk proyek besar Anda adalah sangat penting,
1:54:46 untuk sebagian besar program Anda
1:54:47 salah satu dari mereka akan berhasil.
1:54:49 Itu benar-benar datang turun ke preferensi.
1:54:51 Kenali setiap bahasa, dan putuskan sintaks mana yang mengatur Anda
1:54:54 suka yang terbaik dan paling nyaman.
1:54:56 Jika kamu benar-benar mengenal satu bahasa tujuan
1:54:58 umum baik dan nikmati pemrograman dengannya,
1:55:00 Anda bisa menerapkannya ke hampir semua program Anda berencana untuk menulis.
1:55:04 Secara pribadi, saya cenderung
1:55:05 gunakan Python untuk sebagian besar proyek saya.
1:55:07 Ini adalah kebanyakan bukan karena perbedaan fungsional
1:55:09 antara Python dan tujuan umum lainnya bahasa, meskipun jumlahnya cukup,
1:55:14 tetapi ini terutama karena saya menemukan sintaksnya aturan
1:55:16 yang paling nyaman dan termudah untuk ditulis
1:55:18 program dengan.
1:55:19 Secara keseluruhan,
1:55:20 Anda bisa mempertimbangkan proyek yang akan Anda lakukan, dan penelitian
1:55:23 dan lihat bahasa mana yang paling menguntungkan untuk tujuan Anda,
1:55:27 atau Anda bisa menjadi
1:55:29 nyaman dengan suatu bahasa dan menggunakannya untuk sebagian
1:55:32 besar proyek yang Anda putuskan untuk ditulis.
1:55:34 Sekarang kita akan melihat topik terakhir kita
1:55:37 dari pengantar ini untuk pemrograman mini-series.
1:55:40 Anda sekarang memiliki pengetahuan tentang pemrograman dasar yang
1:55:42 akan membawa Anda jauh dalam bahasa apa pun
1:55:44 memutuskan untuk belajar, Anda tahu beberapa pra-pemrograman yang baik strategi
1:55:47 pseudocode untuk membantu Anda mendesain file
1:55:49 kode dari bawah ke atas,
1:55:50 dan Anda mungkin sudah melakukannya memiliki
1:55:52 ide bagus untuk jenis pemrogramannya
1:55:53 bahasa yang mungkin ingin Anda gunakan, jadi apa langkah selanjutnya?
1:55:56 Bagaimana saya bisa mempelajarinya
1:55:57 bahasa dan aplikasi apa yang dapat digunakan untuk?
1:56:00 Nah, itulah yang akan kita lakukan
1:56:02 menutupi sekarang, jadi mari kita langsung ke dalamnya.
1:56:05 Dimulai dengan pertanyaan terbesar yaitu apa langkah selanjutnya.
1:56:08 Nah, sekarang kamu mungkin tahu jenis bahasa apa yang Anda mungkin tertarik,
1:56:12 teliti bahasa itu dan
1:56:13 cari tahu apakah Anda benar-benar menginginkannya
1:56:15 atau tidak mengejar bahasa pemrograman itu.
1:56:17 Kebanyakan bahasa seperti python atau C++ akan memiliki salah
1:56:21 satu yang resmi situs web tempat Anda dapat membaca,
1:56:23 atau wikipedia halaman yang akan memberi Anda informasi berguna dalam
1:56:26 memutuskan apakah Anda ingin mengejar atau tidak
1:56:28 jalan itu.
1:56:29 Dari sana, langkah selanjutnya adalah sebenarnya belajar bahasa, yang bisa
1:56:33 dilakukan di sini di YouTube.
1:56:35 Sementara kita punya mengajari Anda dasar-dasar bahasa pemrograman apa pun,
1:56:38 setiap bahasa tertentu akan berkembang atas konsep dasar dan tutorial menonton
1:56:43 video dalam bahasa tertentu akan menjadi sangat bermanfaat.
1:56:44 Banyak situs web akan mencoba
1:56:46 membuat Anda membeli kursus berbayar atau
1:56:46 mengambil kelas yang membutuhkan biaya,
1:56:46 tetapi Anda dapat menemukannya secara ekstrim
1:56:47 kursus yang bagus di sini di YouTube benar-benar 0 biaya untuk diri sendiri.
1:56:47 Saya akan mulai dengan
1:56:48 seri perkenalan seperti dirimu sedang menonton, tapi untuk bahasa Anda
1:56:51 telah memilih dan bekerja melalui itu seri, mengambil sintaks dan aturan
1:56:55 bahasa itu sampai Anda merasa nyaman dengan itu.
1:56:59 Begitu Anda melakukannya, Anda menemui persimpangan jalan.
1:57:01 Anda tahu cara memprogram dalam bahasa tertentu,
1:57:04 tetapi Anda mungkin sama sekali tidak tahu
1:57:06 apa-apa untuk membuatnya dalam bahasa itu.
1:57:08 Blok programmer dapat membuat Anda tidak terinspirasi dan tidak
1:57:10 ingin melanjutkan pemrograman jadi saya ingin memberi Anda beberapa
1:57:13 situs untuk membantu.
1:57:15 Pertama adalah codingbat,
1:57:16 situs web yang sepenuhnya gratis yang memiliki ratusan tantangan pengkodean
1:57:20 Java dan Python untuk membantu Anda menyempurnakan pemrograman
1:57:23 keterampilan dan bahkan mempelajari beberapa jalan pintas pemrograman
1:57:26 dan tips.
1:57:26 Ini bagus jika Anda ingin mendapatkannya lebih
1:57:29 baik dalam meningkatkan efisiensi dan kebutuhan Anda
1:57:31 sesuatu untuk mengasah keterampilan Anda sebagai pengembang.
1:57:34 Berikutnya adalah CoderByte, yang menawarkan lebih dari 200+
1:57:37 tantangan yang bisa Anda selesaikan di lebih dari 10 bahasa yang berbeda,
1:57:40 sesuatu yang pasti untuk membantu Anda berkembang.
1:57:42 Situs web terakhir saya suka dibicarakan adalah hackerRank, yang bukan
1:57:46 hanya menyediakan tantangan pemrograman untuk dijaga Anda waspada,
1:57:49 tetapi juga memberikan dukungan
1:57:50 untuk menggunakan keterampilan pemrograman Anda
1:57:51 untuk mencari pekerjaan atau magang,
1:57:52 sesuatu yang mungkin Anda miliki
1:57:53 pasti memikirkan jika Anda mengambil memprogram sebagai keterampilan.
1:57:54 Ini dan banyak lagi
1:57:55 lebih banyak situs web tersedia hanya untuk membuat Anda tetap
1:57:57 tertarik dalam kode dan bekerja untuk menyempurnakan keterampilan Anda menjadi
1:57:59 menjadi lebih baik,
1:57:59 Anda hanya perlu menemukannya karena mereka pasti ada di luar sana.
1:58:00 Sekarang jika Anda seorang remaja yang menonton serial ini,
1:58:03 Saya juga mendorong Anda untuk mengambil program ini
1:58:04 kelas di sekolah menengah Anda.
1:58:06 Ilmu Komputer AP Prinsip dan AP Ilmu Komputer A keduanya
1:58:10 kursus luar biasa yang akan sangat membantu Anda di masa depan,
1:58:13 dan juga sangat informatif
1:58:15 dan penting untuk perguruan tinggi.
1:58:17 Sekolah Anda mungkin juga menawarkan kelas lain di bidang komputer
1:58:20 sains, termasuk tentang struktur data, desain game, dan ilmu data.
1:58:24 Apa saja dan semuanya
1:58:25 kelas yang dapat Anda ambil untuk membantu memperluas pengetahuan
1:58:28 Anda pemrograman dan membantu Anda menemukan ceruk pasar Anda
1:58:30 akan sangat membantu.
1:58:33 Seperti yang Anda lihat, dunia kode sekarang ini telah terbuka untukmu.
1:58:36 Ini hanya sedikit contoh di mana Anda bisa pergi dari
1:58:39 sini tapi masih banyak lagi yang tidak kami bicarakan.
1:58:41 Anda bisa masuk ke GitHub dan mulai berkontribusi untuk proyek,
1:58:44 Anda dapat mengerjakan proyek Anda sendiri
1:58:45 dan berkolaborasi dengan orang lain, kemungkinan tidak ada habisnya.
1:58:49 Langkah selanjutnya terserah Anda.
1:58:51 Ini menyimpulkan pengantar kami untuk pemrograman seri-tambang,
1:58:53 kami harap Anda menikmati menonton
1:58:55 itu sebanyak kami menikmati membuatnya.
1:58:57 Jika kamu menikmati serial ini secara keseluruhan,
1:58:59 pertimbangkan untuk berlangganan ke saluran kami NullPointerException,
1:59:02 yang akan ditautkan dalam deskripsi, untuk informasi lebih lanjut
1:59:05 konten segera hadir.
1:59:06 Terima kasih telah menonton.