1 00:00:00,360 --> 00:00:04,890 ‫Selamat datang kembali dan video ini, kita akan melihat perbedaan antara 2 00:00:04,890 --> 00:00:12,450 ‫tipe nilai dan tipe referensi sehingga tipe data dapat dikategorikan menjadi dua kategori berdasarkan bagaimana mereka menempati lokasi memori. 3 00:00:13,080 --> 00:00:16,600 ‫Dan kita akan melihat tipe-tipe itu secara detail. 4 00:00:16,710 --> 00:00:18,990 ‫Jadi, pertama-tama, kita melihat tipe nilai. 5 00:00:19,200 --> 00:00:26,130 ‫Jadi seperti namanya, ini adalah tipe data yang, ketika dideklarasikan dan diberi nilai, menyimpan nilai itu 6 00:00:26,130 --> 00:00:29,100 ‫secara langsung di ruang memorinya sendiri. 7 00:00:29,310 --> 00:00:29,700 ‫Baiklah. 8 00:00:29,700 --> 00:00:33,150 ‫Jadi tipe nilai menggunakan Ahepe untuk menyimpan disvalue. 9 00:00:33,360 --> 00:00:40,140 ‫Contoh tipe nilai adalah tipe data seperti int float long double char bool desimal double. 10 00:00:40,320 --> 00:00:42,150 ‫Jadi pada dasarnya tipe data sederhana. 11 00:00:42,150 --> 00:00:42,400 ‫Benar. 12 00:00:42,690 --> 00:00:45,770 ‫Sekarang mari kita lihat representasi bergambar dari tipe nilai. 13 00:00:45,780 --> 00:00:51,190 ‫Jadi katakanlah kita membuat variabel baru bernama ZEM dan memiliki nilai dua ratus tiga puluh empat. 14 00:00:51,420 --> 00:00:58,620 ‫Jadi sekarang nilai ini, dua ratus tiga puluh empat akan disimpan dalam RAM pada posisi variabel Z ini. 15 00:00:59,340 --> 00:00:59,870 ‫Baiklah. 16 00:00:59,880 --> 00:01:05,670 ‫Dan kemudian jika kita melihat tipe referensi secara lebih rinci, kita dapat melihat bahwa itu 17 00:01:05,670 --> 00:01:12,490 ‫adalah tipe variabel yang alih-alih menyimpan nilai dalam memori secara langsung, hanya menyimpan lokasi memori dari data aktual. 18 00:01:13,650 --> 00:01:18,640 ‫Variabel di sini menyimpan referensi memori dari data dan bukan data secara langsung. 19 00:01:19,080 --> 00:01:20,440 ‫Ini adalah perbedaan besar, kan? 20 00:01:20,760 --> 00:01:29,010 ‫Jadi tipe data referensi adalah array kelas string, pada dasarnya tipe data yang lebih kompleks dan membutuhkan lebih banyak ruang, 21 00:01:29,010 --> 00:01:30,720 ‫sehingga untuk berbicara. 22 00:01:31,140 --> 00:01:37,140 ‫Ini dilakukan untuk menghemat sumber daya dan membuat program kita secepat mungkin, karena dengan begitu 23 00:01:37,140 --> 00:01:40,740 ‫kita tidak perlu menghitung dan memindahkan nilai sepanjang waktu. 24 00:01:40,740 --> 00:01:47,430 ‫Tapi kami hanya bisa mengatakan, OK, nilainya ada di lokasi itu sehingga Anda bisa mendapatkannya dari sana 25 00:01:47,670 --> 00:01:51,510 ‫alih-alih kemudian, misalnya, menyalin data itu saat kami menggunakannya. 26 00:01:52,260 --> 00:01:52,590 ‫Baiklah. 27 00:01:52,600 --> 00:01:57,890 ‫Jadi ketika kita menyalin tipe referensi ini dari suatu tipe data, itu hanya akan menyalin alamat memori dari data tersebut. 28 00:01:57,900 --> 00:02:02,790 ‫Jadi kita akan memiliki dua variabel yang menunjuk pada data yang sama. 29 00:02:03,030 --> 00:02:05,580 ‫Jadi mari kita lihat representasi bergambar di sini. 30 00:02:05,730 --> 00:02:12,960 ‫Jadi kita memiliki string yang disebut pertama bernama Dennis, dan kemudian kita memiliki alamat nilai variabel dan 31 00:02:12,960 --> 00:02:14,690 ‫kemudian nilai sebenarnya. 32 00:02:14,940 --> 00:02:16,920 ‫Jadi Anda bisa lihat di sini. 33 00:02:18,320 --> 00:02:24,530 ‫Nilai ini di sini hanyalah alamat yang dapat Anda lihat di sini, tetapi alamat variabel. 34 00:02:25,440 --> 00:02:34,110 ‫Nama ada di sini, jadi alamat nilai variabel dan nilai sebenarnya disimpan di dua lokasi berbeda di RAM 35 00:02:34,350 --> 00:02:35,230 ‫Anda. 36 00:02:35,760 --> 00:02:40,530 ‫Jadi secara keseluruhan, alamat nilai variabel sangat pendek. 37 00:02:40,680 --> 00:02:43,230 ‫Ini benar-benar hanya angka yang sangat mendasar. 38 00:02:43,230 --> 00:02:43,580 ‫Benar. 39 00:02:44,010 --> 00:02:48,270 ‫Namun di sisi lain, nilai sebenarnya bisa sangat kompleks. 40 00:02:48,280 --> 00:02:52,620 ‫Jadi bisa saja sebuah objek yang cukup kompleks dan menyimpan banyak informasi di dalamnya. 41 00:02:52,830 --> 00:02:58,230 ‫Dan itulah mengapa lebih baik bagi program kami untuk menggunakan pendekatan ini atau C sharp secara umum. 42 00:02:59,940 --> 00:03:05,110 ‫Jadi misalkan Anda pergi ke persewaan, jadi Anda ingin mendapatkan mobil, bukan? 43 00:03:05,120 --> 00:03:10,710 ‫Jadi Anda pergi ke persewaan mobil dan kemudian Anda berada di konter dan Anda ingin mengambil mobil yang telah Anda 44 00:03:10,710 --> 00:03:11,070 ‫pesan. 45 00:03:11,430 --> 00:03:16,290 ‫Nah, konter tidak memiliki mobil Anda, tetapi memiliki lokasi mobil Anda. 46 00:03:16,290 --> 00:03:23,070 ‫Jadi itu akan memberi Anda kunci dan itu akan memberitahu Anda pergi ke arah ini dan Anda akan menemukan mobil di baris ini dan 47 00:03:23,400 --> 00:03:26,360 ‫itu kolom, ini dan itu atau lantai atau apa pun. 48 00:03:26,640 --> 00:03:30,180 ‫Jadi Anda bisa pergi ke sana dan mengambil mobil Anda. 49 00:03:30,180 --> 00:03:36,330 ‫Jadi alih-alih menyimpan mobil di dalam konter, yang tidak akan berfungsi karena mobil akan terlalu besar, 50 00:03:36,330 --> 00:03:43,080 ‫mereka memiliki semua referensi ini di mana mobil berada sehingga Anda dapat dengan mudah mengambilnya, meskipun contoh 51 00:03:43,080 --> 00:03:47,870 ‫ini sedikit kurang sedikit sisa kompleksitas yang kita miliki di sini. 52 00:03:47,880 --> 00:03:53,070 ‫Tapi mungkin ini membantu Anda untuk memahami jenis referensi sedikit lebih baik. 53 00:03:53,910 --> 00:03:54,450 ‫Baiklah. 54 00:03:54,510 --> 00:03:55,520 ‫Jadi itu saja untuk saat ini. 55 00:03:55,680 --> 00:03:56,730 ‫Mari kita kembali ke Cody. 56 00:03:57,090 --> 00:03:58,020 ‫Sampai jumpa di video selanjutnya.