Transcript for:
Tipe Data dan Operasi dalam Pemrograman

Oke, kita lanjutkan. Jadi, tipe data secara sederhana. Ini juga ada di video yang sudah di-share sama kelas-kelas. Ada tipe data. Number atau angka yang berupa integer dan real atau float dan character ya ketiga tipe data ini kita kenal dengan tipe data yang bersifat primitive. Dan ada tipe data yang komposit yang biasanya merupakan perkembangan atau gabungan-gabungan dari tipe data-tipe data yang bersifat primitif ini. atau beberapa kombinasi atau perkembangan dari tipe data primitif membentuk komposit data type atau tipe data yang komposit di antaranya string, list, tuple, dan dictionaries. casting sendiri casting sendiri ini kita menggunakan casting biasanya untuk melakukan konversi konversi tipe data misalnya kalau kalian mempunyai variable x tipe data 5 sebagai integer 5 itu integer kemudian ingin mengubah angka 5 ini menjadi sebuah karakter itu kita melakukan tipe casting nanti 5 akan menjadi misalnya kita convert ke tipe data berbentuk karakter Sehingga nilai X nanti akan berupa karakter 5, bukan integer 5. Ini kita sebut dengan casting atau conversion. Ataupun kebalikannya. Kalau X misalnya awalnya adalah sebuah string, biasanya character itu disimbolkan dengan tanda kutip. Kalian ingin mengubahnya menjadi kip data bertipe integer, angka, kalian tinggal melakukan casting. Kalau dengan bertipe, kenapa kita melakukan ini? Biasanya, misalnya kalau perubahan dari string ke integer ini kita lakukan supaya kita bisa melakukan operasi aritematika, misalnya x kali 2. Yang mana akhirnya kalau dia bertipe integer, dia akan berbeda 10. Tapi kalau x masih bertipe string, x masih bertipe string, kemudian kalian kalikan dengan 2 atau berarti by character kalian kalikan dengan 2 dia akan menghasilkan error karena perkalian dengan character itu tidak diizinkan ini tipe data kemudian kita singgung sedikit mengenai masalah soft swing Hai dan dari atau stringnya string itu merupakan tadi tipe data yang komposifnya dia termasuknya komposif karena dia merupakan gabungan dari karakter-karakter ada C, D, E, dan sebagainya. Ini kesatuan kipa data ini adalah string. Kalau dia cuma misalnya A saja, AX sama dengan A, maka A ini adalah sebuah karakter. Tapi kalau dia merupakan gabungan dari beberapa karakter, 5, 7 misalnya gabungan angka tanda-tanya semuanya dikasih kutip maka X akan bertiba string nah apa yang dimaksud dengan substring substring adalah bagian dari keseluruhan string ini jadi kalau x kita isi dengan abr57 tanda seru kalau kita kenakan operasi apa namanya kemarin membership ya if b in x apakah huruf b Ada di X, jawabannya akan true. Karena D merupakan bagian dari loop X. Operasi ini bisa dilakukan karena kita menggunakan istilahnya substring. Artinya pembagian bagian-bagian dari string itu. Bagaimana kita membaginya? Kita membagi substring atau kita bisa mengidentifikasi substring dengan cara melakukan indexing. Artinya kita kenal dengan sebutan index. Nah, apa itu index? Misalnya, x itu tadi ABR57, ya. Nah, pengindeksan adalah seperti nomor urut. Nah, urutan. Jadi, kalau kita mau mengakses hanya huruf B saja, ya, kita bisa menentuk, bisa mengakses group base saja dengan mengindeks posisi pertama dari variable x itu. Jadi kalau kalian ingat, hampir semua bahasa pengurangan yang kalian gunakan nantinya, itu penemuran indeks dimulai dari 0. Jadi, indeks untuk huruf A adalah 0. index untuk beruf B adalah 1, index beruf R adalah 2, dan seterusnya. Jadi kalau kalian hanya mau mengakses beruf B saja, kalian deklarasikan atau kalian panggil variable X, lalu sertakan posisi mana yang kalian ingin ambil karakternya. Dalam hal ini kalau dia posisi 1, maka dia akan menunjuk ke beruf B. mengambil posisi misalnya 4, dia akan mengambil di 3, 4, angka 7. Kemudian bagaimana kalau ingin mengambil beberapa karakter dalam sebuah swing? Biasanya kita menggunakan istilah slicing. Ini adalah istilah baru lagi, slicing. atau dari bahasa apa atau dari apa namanya kata dasar slice atau slice biasanya bahasa indonesianya artinya mengiris ya melakukan peririsan misalnya kita ingin mengakses huruf saya ganti warnanya dulu huruf R, 5 dan 7. Kita mau mengakses ketiga huruf ini. R, 5, 7. Kemudian kita panggil huruf X. Lalu kita melakukan indexing. R berada di urutan kedua. Sampai kita simbolkan biasanya dengan tanda titik 2. sampai ke nomor 4 ini di x4 maka dia akan mengampilkan R57 R57 ini disebut dengan substring ini bagian sedikit dari string yang ada disebut dengan substring nah Ini adalah contoh-contoh tipe-tipe data yang tadi fokus tentang B string tentang stringnya. Nah, kalau kalian perhatikan, B string itu dilengkapi dengan kutip, entah itu kutip 1 atau kutip 2. Integer, angka bulat, floating adalah angka-angka yang koma, yang angka-angka yang real. Oke, kita masuk pada pengaksesan. Nah, bagaimana kita mengakses, misalnya, string ini? Ada beberapa metode pengaksesan, yang salah satunya adalah Slice ini ya, tadi ada slicing, kita bisa mengakses karakter-karakter yang ada pada string. Atau dengan secara langsung, direct, kita bisa langsung mengakses index dari sebuah string. Kemudian juga ada beberapa fungsi yang bisa kita kenakan pada string. Yang paling sering kita gunakan untuk fungsi pada string adalah fungsi length atau banyaknya. Jadi fungsi itu apa? Fungsi itu semacam, ya sebuah fungsi ya, yang kita akan akan pada tipe-tipe darah tertentu. Selepas ini kita... Fungsi yang kita bisa menekan pada string adalah fungsi length atau jarak atau banyaknya jumlah karakter. Kalau kita bilang length x atau berapa jumlah karakter yang ada pada variable x, itu kita hitung saja 1, 2, 3, 4, 5, 6. Ya, penanda. 6 karakter yang berada pada variable X, yang mana karakter ini dimulai dari indeks ke 0 sampai indeks ke 5. Indeks terakhir adalah exclamation mark atau tanda seru. Indeks ke 0 adalah A. Ini salah satu contoh saja fungsi yang bisa kita kenakan pada variable. Dalam hal ini, variablenya bertipe string. Nanti kalau ada variable yang bertipe, kita lihat nanti ke belakang-belakangnya ada variable yang bertipe list. Nah, ada variable yang bertipe list, yang mana dia berisi kumpulan dari elemen-elemen. Elemen angka 1 misalnya, atau elemen huruf C, A misalnya, tambah elemen 5,7 misalnya. Sama seperti ini, hampir sama serupa dengan string, index dimulai dengan kosong. Jadi kalau kalian mau mengakses list huruf CA, kalian kenakan index nomor 1. Dia akan mencetak huruf CA. Dan ini dianggap index kosong. Ini indeks 1 dan ini indeks 2. Bisa dipahami untuk penggunaan list ini. Perlu saya peringatkan kembali beberapa tulisan-tulisan yang ada di slide ini. Seperti len, buka kurung, x, dan tutup kurung ini adalah perintah-perintah dalam bahasa penggunaan Python. Nah, kalau kalian nanti menggunakan bahasa penggunaan yang lain. Prinsipnya sama, pasti ada fungsi untuk menghitung jumlah karakter misalnya, tapi mungkin dengan sintaks yang sedikit lebih berbeda. Begitulah dengan proses slicing dan indexing. Ada juga pengaksesan langsung secara elemen yang tadi saya lupa singgung. Jadi elemen ini, yang indeks ini, elemen 1, atau elemen kosong, atau elemen 2, itu pengaksesan juga untuk string atau jubah data yang lainnya. Operator, operations, kemarin kita sudah lihat beberapa operator. Operator ini bisa kita kenakan misalnya addition atau penjublahan atau yang paling umum additions dan multiplications atau perkalian. Contohnya kalau misalnya, kalau perkalian, kalau apa namanya? operator atau penjumlahan dan penambahan dengan tipe data yang bertipe integer atau real atau number nah itu bisa langsung dilakukan ya, jadi kalau misalnya kita punya nilai x nilai x nya adalah 3 misalnya lalu kita punya nilai y sama dengan misalnya 9 misalnya, lalu kita kenakan operator penjumlahan x plus y nah maka dia akan menjadi 12 ini bisa langsung kita lakukan tapi bagaimana kalau misalnya X nya itu bertipe karakter jadi karakter kita tambahkan dengan integer dia akan error dia akan error kecuali kalau kedua-duanya adalah berkita karakter kalau 9 juga berkita karakter kalau variable Y juga berkita karakter kemudian variable X juga berkita karakter penjumlahan karakter ini akan menghasilkan 39 yang bertipe karakter jadi kalau tipe karakter kita bisa menjelaskannya bukan secara matematik tapi secara penggabungan kalau kalian sempat lihat di excel sama seperti kita melakukan concatenations atau penggabungan operator untuk multiplications begitu pula dengan multiplications jadi misalnya kalau x kita kalikan dengan y kalau sama-sama string itu perkalian dengan string pasti akan error kecuali kalau penambahan kita lakukan penambahan yang kita kenakan pada string. Nah, beberapa metode untuk variable string, saya hapus dulu semuanya, saya bisa tulis di sini. Ada beberapa metode yang biasanya kita kenakan pada string. Hal satunya, ada misalnya kita kenakan huruf besar atau kapital, misalnya. Jadi kalau misalnya kita punya variable X, variable itu adalah misalnya, pening pro misalnya, mengenal pemrograman kita asik quotes atau kita kasih kutip lalu kita ingin membuat variable x ini menjadi sebuah huruf kapital keseluruhannya berupa kapital nah itu bisa kita kenakan metode atau metode atau metode menjadi tindakan yang bisa kita kenakan kepada sebuah variable. Itulah metode ya. Jadi kita bisa kenakan x, titik, artinya kita mengakses salah satu metode yang ada di bahasa pemukaman. Kita bisa kenakan uppercase. Nah, x.uppercase lalu biasanya metode kita disimbolkan dengan kurung buka dan kurung tutup karena metode uppercase ini ini juga kalau kita telusukin lebih ke dalam dia itu termasuk sebuah fungsi untuk membesarkan huruf-huruf yang kecil atau karakter-karakter yang kecil jadi kalau X kita kasih metode uppercase dia akan menjadi pengprong Begitukulah kalau X, misalnya kita akan akan, dan banyak sekali, apa namanya, metode-metode. Selain dari uppercase, ada juga lowercase, yaitu metode untuk mengacilkan atau membuat huruf-huruf kapital menjadi huruf-huruf yang kecil. Atau metode... apa lagi, replace misalnya atau penggantian misalnya kita punya access tadi, bank pro kita mau mengganti huruf o dengan huruf p misalnya kita kasih x kita akses metodenya replace Lalu replace ini akan menerima karakter mana yang ingin kita ganti, itu karakter O. Kemudian diganti dengan karakter misalnya I. Maka dia akan menjadi, X akan menjadi peng-free. Hai nah selain daripada lowercase replace ada juga split kita ingin membagi karakter menjadi beberapa potongan sub-character eh sorry, membagi string menjadi beberapa potongan substring kita bisa menggunakan metode split dan istilah-istilah ini split, lowercase, replace, uppercase, capital ini istilah-istilah yang kembali lagi di bahasa pemrograman python jadi kalau kalian menggunakan bahasa pemrograman lain cari equivalenya, cari apa namanya kesamaannya, mungkin mereka menggunakan kata yang sedikit lebih berbeda tapi prinsipnya adalah sama itulah metode yang bisa kita tanahkan pada stream Ini contoh untuk penggunaannya pada string. Metode-metode ini juga bisa kita kenakan pada file-file bertipe integer atau float. Tapi itu saya lupakan kalian untuk bereksperimen, bagaimana kalian kalau mau menggunakan metode atau menggunakan fungsi yang dikenakan pada variable-variable bertipe integer atau float. Oke, jadi dari pertemuan kedua dan ketiga, kemarin kita sudah lihat mengenai operator, kita sudah belajar mengenai operator, nah, kita sudah lihat mengenai, apa lagi, variable, Variable yang kadang kita sebut secara global, kemudian ada lokal, mungkin kalian secara minggu lalu tidak mendapatkan kekurian global dan lokal ini, tapi di video yang sudah saya share itu ada penjelasannya. Ada juga variable yang kita bagi berdasarkan cepat. kecepatan lambatnya perubahan variable di dalam nilai di dalam variable tersebut seperti konstan Hai dan tak temporari Hai dah kita bisa kita belajar mengenai apa lagi ah ah ah operator Operator, ada macam-macam, ada membership, ada relationship, aritmatik, dan lain-lain dan sebagainya. Kalian bisa buka di slide-nya dan bisa baca ulang. Dan itu akan sering kalian akan gunakan ketika kalian menulis bahasa pembeda-pembeda. Nah, itu untuk pertemuan kita yang minggu kedua dan minggu ketiga mengenai operator, kemudian string, dan variable. Apakah ada pertanyaan dulu sebelum kita lanjutkan langsung ke pertemuan ke materi 45? Kalau ada kalian bisa langsung ke depan dan bertanya sambil saya mempersiapkan slideshow untuk pertemuan ke materi selanjutnya ya. Hai Oke kalau belum ada kita ke materi yang berikutnya saya share dulu semoga berhasil Hai Hai teman-teman ya presentasi atau slide saya Oke terima kasih Pak Hai Oke ham untuk materi berikutnya kita lihat mengenai struktur data muter ini islah-islah yang juga nanti kalian akan dapatkan kalau kalian menulis program di bahasa penggunaan pilihan kalian kita lihat beberapa konsep mengenai data berkaitan erat dengan tipe data yang tadi kita lihat pada slide-slide sebelumnya jadi secara hirarki Jadi kita sempat lihat ada yang ada istilah primitif, kemudian ada istilah komposit. Nah komposit itu biasanya kita juga ada yang menyebut dengan high level data structure. Nah, tipe data ini, yang primitif ini. masih kalau kita lihat dari slides yang kalian lihat di presentasi ini ada tipe-tipe data yang masih bisa kita baca secara human atau secara manusia ya tipe data integer seperti yang tadi tipe data float atau real tipe data yang koma-koma atau real lalu ada tipe data karakter juga karakter, nah itu masuk tipe data primitif ya nah di bawah tipe data yang primitif ini kalian pasti mungkin di mata kuliah yang awal-awal mengantar di tes informatika atau mungkin mata kuliah-mata kuliah awal yang belajar bahasa mesin bahasa mesin language semua itu tetap diproses oleh komputer dengan angka-angka binar Jadi kalau kemarin kita sempat lihat operator-operator seperti operator bitwise Operator bitwise itu yang kemarinnya ada Apa namanya? Ada AND Ada OR Atau XOR Kemudian ada shift left, shift right, lalu complement. Operator-operator inilah yang bahasa mesin sering menggunakan untuk memproses apa yang kita instruksikan kepada mesin. Jadi kita mungkin melihat kalau kita menulis bahasa dengan menggunakan bahasa pemudaman tingkat tinggi seperti Python atau Java atau C Sharp atau lain-lainnya, kita mungkin secara gampang menulis 28 dikali 3. Tapi di balik layar, dalam bahasa mesin atau mesin level di storage ini, itu 28 dikonversikan ke angka binar yang 01, 01, semacam itu. Nah, lalu 3 juga dikonversikan ke angka binar. nomor 1, saya lupa binarnya 3 atau berapa, lalu dikenakan operator kombinasi dari end, or, short, bitrate dan sebagainya tapi sepertinya sudah saya singgung mungkin di video atau di presentasi berapa, 2 minggu yang lalu, kalau semua kerumitan instruksi dengan binar ini sudah tercover atau sudah dicutupi dengan bahasa pemograman tingkat tinggi ya Nah, di antara primitive dan high level data structure ini sebenarnya ada intermediate yang namanya data aggregation. Biasanya berpipa array atau struktur. data aggregation itu seperti yang string yang tadi, kalau kita punya x bernilai misalnya 3, karakter 3 misalnya, kalau saya kasih ini aja deh, misalnya x kita bernilai, 3, lalu ini kita kasih nilai 38 misalnya. Kemudian kalau X ditambah Y, maka hasilnya menjadi karakter juga 38. Nah, itu basic data aggregation, yaitu datanya kita aggregate. Nah, demikian kita akan sedikit, saya akan kasih tunjuk bagaimana proses-proses ini terjadi dengan bahasa pemograman Python nanti kita akan lihat nah disamping itu ada pula tipe-tipe seperti list stack, dictionary dan tree sebagai high level di dasar data yang cukup kompleks kita lihat dulu apa itu list Nah, list bisa kita definisikan atau bisa kita pahami sebagai sekumpulan nilai-nilai di bawah satu nama variable yang sama. Jadi kalau kita lihat contoh di sini, ada sebuah variable bernama numbers. Kemudian variable numbers itu ketika kita deklarasikan dengan kurung kotak, kurung kotak itu seperti kurung ini ya. Kurung kotak buka dan kurung kotak tutup itu secara tidak langsung mengindikasikan kalau variable numbers ini adalah variable bertipe list. Seperti yang didefinisikan, list adalah sekumpulan nilai yang disimpan pada satu variable dan nama. Jadi di dalam variable list ini ada beberapa kumpulan nilai-nilai. Ada 1, 2, 3, 4, 5, 6, 7, 8, 9, 10. Itu adalah sekumpulan nilai-nilai. Entah itu dia bertipe integer atau dia bertipe string. atau bertipe yang lainnya, itu list mampu menampung sekumpulannya tersebut dengan tipe-tipe yang berbeda. Jadi, salah satu pengumpulan list adalah mengumpulkan nilai dengan tipe yang berbeda. Tipe data yang berbeda. Dia mampu mengumpulkan nilai dengan tipe data yang berbeda. Nah, biasanya nilai-nilai yang ada di dalam list ini kita sebut dengan element. Jadi, elemen nomor kosong adalah 1. Elemen nomor 8 adalah string 8. Yang dimulai dari, oh sorry, nomor 8 itu 1, 2, 0, 1, 2, 3, 4, 5, 6, 7, 8 adalah 9. Nah, karena indeks dimulai dari angka kosongnya, adalah nanya. Jadi kalau kalian lihat, dia menyimpan tipe data yang berbeda-beda, list dapat menyimpan tipe data yang berbeda-beda. Ini nanti akan kita lihat perbandingannya dengan tipe data yang lain, yang memang hanya mampu menyimpan tipe data yang sama, tidak bisa berbeda. Jadi ingat, list dimulai index-nya dari 0, dan masing-masing nilai dalam list kita sebut dengan lmn. Nah, akses dari sebuah list hampir sama seperti akses dalam sebuah string, kita menggunakan biasanya slicing. Di slide sebelumnya, kalian sudah lihat bagaimana metode slicing ini bekerja dengan penemuran index. Nah, list juga bersifat mutable, kita bilang. Mutable. Apa itu mutable? Mutable itu nilainya dapat dimodifikasi. Ya, artinya nilainya tidak tetap. Ketika list itu dideklarasikan atau dideklarasi, dengan nilai-nilai awal seperti yang kalian lihat di slide ini maka kalau kita ingin mengubah nilai 6 menjadi nilai string 6 tulisan 6 gitu maka kita bisa kenakan number kita akses posisi ke posisi mana angka 6 itu berada, jadi 0, 1, 2, 3, 4, 5 lalu kita assign dengan Hai tulisan 6 misalnya Hai nah Hai sedangkan telah dengan ini up sampai berarti dengan 6, maka number akan kemudian kita bisa berarti Maka number kemudian akan berisi angka 1, angka 2, angka 3, angka 5, kemudian karakter 6, terus tulisan 7, tulisan 8, tulisan 9, dan tulisan 10. Jadi numbers akan berisi dengan 1, 2, 3, 4, 5. Kemudian angka 6. Dan seterusnya. Nah, itu karena kita sudah mengubah posisi nomor 5 dari variable number sebelumnya menjadi tulisan nomor 6. Nah, ini konsep dari mutable. Dirainya bisa berubah. kemudian kalau kita melakukan adding, inserting, dan renewing juga bisa karena konsep mutable tadi konsep dimana nilai atau elemen dari kodis itu bisa ubah-ubah cara menambahkan misalnya namanya variable oh sorry, elemen yang baru itu kita akan akan mengetulkan juga jadi semua punya ini semua punya dalam jadi kalau kita misalnya ingin menambahkan langkah 11 pada number kita tinggal menambahkan saja misalnya number kita add nah add ini adalah sebuah metode lagi metode yang bisa kita kenakan pada string 11 nah dengan demikian number akan berisi ini kita tutup, eh kita ganti dia akan berisi angka 11 di ujung sebuah list dia akan ketambahan nilai 11 yang kita sudah insert atau add elemen 11 ya, sebentar Hai nah begitu pula dengan moving di mus sama hampir sama konsepnya kita di move angka yang ingin kita hilangkan Hai semestinya kita mau menghilangkan angka huruf iklan misalnya ya kalau kita ketik saja number kita akan kita di move Lalu elemen mana yang ini kita hilangkan? 8 Alam Bisa demikian Numbers akan menghilangkan atau mengeluarkan Elemen 8 Elemen angka 8 Nah Oke, concatenating dan multiplying itu hampir sama prosesnya kita menggunakan operator aritmatik terhadap disk. Kalau kita menggunakan operator aritmatik, concatenating misalnya, misalnya ada dua... Hai ada dua list ya saya coba list-list nyaris 1 dia berisi 123 kemudian 2 dia berisi bagaimana 4, 5, 6, konfigurasi 3 elemen kalau kita tambahkan list 1 tambah list 2 maka kumpulan 2 list ini akan menjadi 1, 2, 3, 4, 5, 6 kalau tidak ada kepanahannya jadi penyumbang seperti itu Kalian sama, ini bisa dikerjakan juga. Hanya ingat ketika kalian ingin melakukan operasi aritematika atau operator penjumlahan, edisi, dan ini ya, operator-operator aritematika terhadap apapun nilai, apapun tipe datanya harus perhatikan juga apa yang kalian tambahkan atau jumlahkan, apakah tipe data yang kalian jumlahkan itu dua-dua. dengan bernilai atau bertipe integer atau bertipe root kalau misalnya ada satu saja yang mungkin bertipe character mungkin alamatika itu tidak bisa diperkenalkan akan menggunakan error tapi kembali lagi disesuaikan dengan bahasa pemudaman yang kalian ingin gunakan Nah, di dalam sebuah list bisa kita juga melakukan pencarian atau searching terhadap nilai mana saja yang kita ingin cari di dalam sebuah list. Ada tipe data yang lain, yaitu tuples. Konsepnya hampir sama dengan list, hanya ada tetap beberapa perbedaan. Kalau tuples, salah satu ciri yang menjadi pembeda dia dengan list adalah dia... bersifat immutable artinya immutable itu lawan kata dari mutable, jadi sekali takuls ini dideklarasikan dia tidak akan bisa diubah-ubah nilainya jadi lawan dari immutable adalah mutable sekali dideklarasikan dia tidak bisa di apa-apakan lagi Bentuk dari tuples biasanya itu dikandai dengan, ini kita pakai tuples, kurung buka dan kurung tutup. Masih sama penamaannya, masing-masing nilai yang ada di dalam sebuah tuples kita sebutkan. ciri yang kedua dari sebuah tuples adalah dia itu order atau berurutan dan apa namanya terurut, jadi posisinya sekarang sifatnya immutable, sesuatu kali dia direfinisikan atau diteklarasikan, dia tidak mungkin urutannya dibubah-ubah lagi. Itu sudah merupakan jelikas dari sebuah tapau. Salah satu kesamaan yang dengan list adalah dia masih bisa menampung elemen-elemen dengan tipe datanya berbeda. Jadi misalnya salah satunya di sini, angka 5 ini kita buat dia sebagai karakter, jadi tidak akan mengeluarkan error ketika disimpan dalam sebuah tipe data atau pause. Untuk mengaksesnya, posisinya sama saja. Seperti list, kita melakukan slicing dan index. Jadi kalau tuples index kosong, dia akan mengakses nilai 2, dan seterusnya, dan seterusnya. Sehingga kita masih bisa menerapkan konsep indexing pada tuples. Operations juga sama, hampir sama sama list tadi. Hai kalau kita menambahkan penambahan ya Hai pesan yang ada toko2 misalnya isinya 6,7 kalau kita tambahkan Hai kekotongan Hai plus toko semua mendapatkan hasil 24567 Hai nah hai sama seperti kalau kita mengumpulkan jublah atau operasi operasi operasi-operasi dengan list dan beberapa metode yang bisa kita akan pada couples juga seperti metode-metode count misalnya kalau kita sertakan couples kita akan akan metode count maka dia akan menghitung jumlah element yang ada dalam tuples yaitu 3 karena variable tuples yang tadi sudah dideklarasikan di atas tadi berisi 3 element 3 element Oke, itu untuk tuples ya. Kemudian, beberapa keuntungan dan perbandingannya dengan list ya. Kemudian dari tuples, biasanya sifatnya yang inutability atau yang tidak bisa diubah-ubah. Sehingga dia seringkali digunakan sebagai sebuah constant. Dan kalau bercermin pada apa yang sudah kita bahas sebelumnya, tipe variable yang konstan maupun temorari, nah, konstan yang ketika kita deklarasikan juga itu jarang sekali berubah atau tidak pernah berubah, itu disebut imut kebal juga, dan sering didefinisikan sebagai sebuah konstan. Karena sifatnya tidak bisa diubah-ubah, akhirnya ada penyimpanan memori yang ketat terhadap tipe data tuples. Dengan demikian operasi yang kita kenakan pada tuples biasanya lebih cepat dari operasi yang kita kenakan pada list. Memori efisien, karena sekali lagi diklarasikan, dia sudah langsung menetap pada posisi atau lokasi memori yang sudah disediakan kepada dia, tidak berubah-ubah lagi. dan hashable artinya dia bisa digunakan sebagai key pada tipe data yang lainnya nanti kita akan lihat tipe data dictionary yang mana kita bisa menggunakan key kita bisa menggunakan tuples sebagai key dari sebuah dictionary Nah ini tiga perbedaan antara list dan tuples. Nah yang tadi sudah saya singgung, mutability artinya list itu bersifat mutable, sedangkan tuples bersifat immutable. Syntax, kalau tuples biasanya disertai dengan kurung ini, kurung biasa, sedangkan list kurung kotak. Use case tadi, kalau tuples biasanya kita gunakan untuk tipe-tipe data yang bercepat konstan. Sedangkan list kita biasanya gunakan untuk tipe-tipe data yang cenderung berubah secara cepat. Itu perbedaannya antara list dan tuples. Nah ini ada satu tipe data lagi yang kita kenal dengan istilah dictionary. Dictionary ini kita sering sebut sebagai key value pairs. Hai yang kita lihat sini artinya ketika kita menyimpan data adalah bentuk dicineri atau dicineri ini kita ada menentukan sebuah key atau kunci Key, sebagai contoh, oh sorry, ini awalnya dulu, biasanya, dictionary itu ditandai dengan kurung-kurawal, atau kurung keriting. Ada beberapa istilah yang mengikutnya kurung-kurawal atau kurung keriting. Dia akan secara otomatis didefinisikan sebagai sebuah dictionary. Di dalam dictionary, ada key dan value. Jadi key-nya apa? Value-nya apa? Key ini bersifat unik. Jadi di dalam sebuah dictionary, sebuah key itu hanya ada satu, tidak bisa berubah jadi kalau key nya ada huruf A berarti di dalam dictionary yang sama tidak boleh ada lagi key dengan huruf A tidak boleh sama Itu sebabnya ketika kita tadi belajar tuples, tuples bisa kita gunakan sebagai key di dictionary karena dia bersifat asable. Sedangkan list karena tipenya itu tidak bisa ubah-ubah, list tidak bisa kita gunakan sebagai key di dictionary. Jadi kalau kalian lihat dari contoh yang ada di slides, yang di dictionary ini, kita mempunyai key A yang bernilai 1010, kita punya key B yang bernilai 1000. 11, kita punya nilai C yang bernilai 1100. Lalu bagaimana kita mengakses visionary? Kita bisa mengaksesnya dengan proses indexing juga. Hex, misalnya values, nama variable-nya yang di atas. Kemudian kita bisa langsung menuju ke key-nya. Misalnya kita menuju key A. Nanti dia akan mencetak isi dari Ki A yaitu 1010. Jadi pengaksesan dari Big China Ding itu kita langsung menargetkan ki nilai yang berceri ki dari Big China tersebut. Kalau kita mau mengakses angka 1100, berarti kita akan mengakses variable, sorry, key C nanti dia akan mencetak angka 1100 atau akan menampilkan angka 1100 karena nilai 1100 ini berada pada variable hex underscore values yang mempunyai nilai key yang mempunyai key C group C nah Dictionary pun bersifat mutable, boleh sebab itu kalian bisa memodifikasi sebuah dictionary. Modifikasinya sama, kalian targetkan ke key-nya, lalu kalian assign atau ganti nilai dari key tersebut. Seperti yang sudah disinggung tadi, key unique, artinya nilai dari key itu harus unik, tidak boleh berulang. Kalau dia berulang, dia akan digantikan atau ditimpa dengan nilai key yang terakhir. Dan key types, tidak boleh ada... nilai yang sama dan hanya tipe-tipe data tertentu saja yang bisa kita gunakan sebagai key dari sebuah list. Yang tidak boleh itu adalah list. Jadi list kita tidak bisa gunakan sebagai key. Kalau tuples, boleh. Hai bergulau dengan string boleh menjadi key integer boleh kalau kita tidak boleh Hai flow tidak boleh menjadi atau real tidak boleh menjadi key jadi ada beberapa tipe data yang tidak boleh menjadi key ya Hai nah itu dicari Nah, kemudian pada suatu kasus-kasus tertentu, kalian akan menemukan... tipe data yang bersifat multidimensional tipe data multidimensional ini Tipe data lebih dari dua dimensi. Jadi kalau kalian lihat, contoh-contoh di slide sini. Contoh-contoh sebelumnya, kalian punya satu kurung kurawal buka dan satu kurung tutup. Kotak buka dan kotak tutup. Yang list itu, itu ada... tipe data satu dimensi, artinya dia cuma satu baris tapi untuk kasus-kasus kepentingan kalian mungkin harus menyimpan data dalam bentuk multidimensional atau dua dimensi, tiga dimensi dan sebagainya nah bagaimana itu bisa dibuat? kita menggunakan list di dalam list jadi list in list atau list di dalam list itu bisa kita kembangkan menjadi tipe data multidimensional nah sebagai contoh kalau kalian lihat baris ini ya baris nomor satu ini numbers kalau kalian ada list yang pertama 1, 2, 3 Dia berada disandingkan dengan 456, di seluruh kutubnya, juga disandingkan dengan 789, tapi mereka secara keseluruhan menjadi satu buah list, itu representasi visualnya seperti ini. Ini list yang pertama, di baris pertama. list yang kedua di baris kedua, kemudian list yang ketiga di baris ketiga. Sehingga dia membentuk dua dimensi. Begitu pula dengan yang ini. Numbers, kemudian baris list yang pertama, yang satu baris ini, list yang kedua, kemudian list yang ketiga nah bagaimana mengaksesnya Sama seperti pengindian, kalau misalnya kalian ingin, kalau kalian kenakan perintah ini, numbers 1, 2, itu berarti kalian akan mengakses baris pertama, jadi baris kosong, kemudian baris 1, kalian fokus ke baris ini. Kemudian angka 2 itu menandakan inteks kedua untuk kolom. Jadi kolom kosong, kolom 1, kolom 2. Jika perpotongan antara list yang baris dan list yang kolom itu adalah angka 6. Jadi kalau ini print, angka ini dia akan mencetak, mengakses elemen nomor 6. Nah tadi sebelumnya kita mengakses indeks itu dari angka 0. Karena kita berasumsi indeks itu dari kiri ke kanan. Indeks pun bisa kita hitung dari belakang. Dengan catatan dimulai dari negatif. angka negatif ini jadi paling terakhir negatif 1 negatif 2 negatif 3 ya, bergiruk dengan negatif 1 negatif 2, negatif 3 untuk yang kolomnya Jadi kalau kalian ingin menggunakan pengidesan yang negatif ketika kalian mencetak, atau soalnya kalian mengakses element negatif 1, negatif 2, berarti kalian harus menghitung dari negatif 1 dulu, negatif 1 itu yang paling terakhir di bawah ini, baris yang paling bawah, fokus ke sini. Kemudian, negatif 2 yang kolomnya. Ini negatif 2 itu kolomnya di sini. Nah, aksesnya ini. Sehingga ketika kalian mengakses negatif 1, negatif 2, elemen yang diakses adalah 8. Lihat, pengaksesan elemen 2 itu sama saja dengan mengakses elemen negatif 1 untuk yang kolom. Sama saja. Nah, berikutnya kita lihat untuk... konsep eliciting eliciting ini kalau dalam bahasa indonesia seperti alias nah ada beberapa masalah ketika kita atau beberapa kasus ketika mungkin kalian nanti mengetik di bahasa pemograman, kalian menyangkanya sebuah variable itu kenapa berganti, padahal saya sudah menentukan nilai variable nya sekian mungkin tidak disadari kalian saat melakukan programming ada kejadian-kejadian tidak tertunggu atau disebut dengan unintentional side effect jadi contoh kalau misalnya ada sebuah list ya misalnya terima kasih Kita lihat dulu pelannya. Di X misalnya, dia berisi 1, 2, 3. Nah, daripada tadi sini, 1, 2, 3. Kemudian, kita mendeklarasikan file berikutnya, Y, sama dengan X. Nah, ini berarti dalam sebuah memori di komputer, dia tidak akan berubah. Jadi, alokasi memorinya, misalnya kita anggaplah ini memori di komputer, ya. Ketika kita mendekatkan file X, dia menempati porsi ini, istilahnya untuk nilai 1, 2, 3, atau nilai X. indeksnya X. Ketika kita mengatakan X sama dengan Y, komputer tidak akan mengalokasikan variable 1, 2, 3 buat Y di sini, tidak. Untuk menghemat tempat, biasanya komputer akan langsung mengatakan kalau Y itu sama dengan X sehingga apa namanya posisi Y dan X itu di memori adalah sama nah dan kata lain kalau X berubah secara tidak langsung Y juga akan berubah nah jadi terkadang makanya kita sebutnya unintentional side effect atau efek samping yang tidak disengaja ketika kalian dalam bahasa menulis pemograman dalam jumlah baris yang banyak mungkin kalian lupa kalau kalian sedang mendeklarasikan sama dengan Y, sehingga kalau kalian sudah menulis program berbaris-baris, kemudian, kalian mengobrak abrik variable Y menjadi misalnya 7, 8, 9, lalu kalian masih beranggapan kalau X itu masih 1, 2, 3. Padahal ketika kalian mengganti Variable Y Itu secara otomatis variable X juga berubah Karena mereka menempati memori yang Sama Jadi perlu diperhatikan Kalau kalian menulis program dengan bahasa programan apapun itu, perhatikan kalau apakah mengubah satu variable itu berdampak pada variable yang lainnya. Karena alokasi memori yang sama. Nah, untuk menghindari hal tersebut, biasanya daripada kita melakukan pengalokasian yang sama kalau kalian ingin betul-betul independen variable X dan variable Y kita harus mengalokan copy dari data tersebut jadi kalau kita menginstruksikan komputer untuk melakukan copy maka variable X akan dialokasikan atau variable Y akan mendapat alokasi tempat yang baru di memory. Sehingga kalau kalian mengganti variable y, dia tidak akan mengusik apa yang sudah direklarasikan di variable x. Nah memang, kalau kita melakukan copy data, artinya kita akan makan space, karena dia akan mengalokasikan space yang baru. Jadi biasanya kalau penggunaan alias ini, atau penggunaan alias-alias ini, itu memang digunakan untuk efisiensi tapi harus hati-hati karena efisiensi pun ya itu kasus yang tadi barusan kalau kalian tidak hati-hati dia akan mengganggu jalannya program Nah ini contoh-contoh copy data atau alias-alias ini kalian bisa baca literaturnya di beberapa contoh kasus di bahasa pemukulaman. Mungkin literaturnya tidak lebih tinggi daripada Python atau Java atau bahasa pemukulaman yang modern saat ini. Biasanya dulu itu diterapkan pada pointer pada bahasa pemukulaman tingkat rendah seperti C atau C++. Nah tadi kita sudah lihat tentang data, sumber-sumber data. Lalu ada cloning juga. Cloning yang tadi alias. Kalau kita cloning, itu sama seperti kita copy, copy data. Kita alokasikan apa namanya. memori lokasi memori yang berbeda untuk variabel yang berbeda supaya kita mengganti satu variabel tidak mengusik variabel yang lainnya sampai disini ada pertanyaan Hai untuk sebataran YouTube ini nanti akan saya sebarkan juga kalau video sudah jadi sambil ini mungkin saya coba bersekusi setidaknya 7 menit lagi ya hai hai Oke, 7 menit sisa ini. Masih ada satu materi lagi sebenarnya, rekursi. Cuman saya rasa waktu ini tidak terlalu cukup untuk kita melihat materi rekursi ini. Jadi nanti, rekursi ini akan saya ini saja. Saya rekam saja, lalu saya akan sebutkan video rekursi ini untuk kalian belajar secara mandiri ya. Sisa waktu ini akan saya gunakan untuk mungkin mendemonstrasikan. Kalian bisa melihat ya, screen saya. Nah, ini kalau kalian punya sebuah alamat akun Gmail, kalian pasti mendapatkan... Google Drive ya aku di Google Drive nah di dalam Google Drive ini kalian bisa membuat atau melakukan pembelajaran coding caranya ya kalian klik di new kemudian pilih more lalu disini ada opsi google collaborate google kolaborator nah kalau tidak salah kalian juga bisa mengaksesnya via titik ini google apps kalian buka lalu kalian lihat ada tidak nih google kolaborator kalau tidak ada oke tidak ada mungkin Berarti aksesnya, new, kemudian more, lalu google kolaboratori. Kalian klik di sini, kemudian dia akan membuka tabel baru. Nah, tabel inilah yang bisa kalian gunakan untuk melakukan coding. Ah, tabel barunya tidak terlihat ya, sebentar. Nah, bisa kelihatan tabelnya? Tampilan yang baru ya? Nah, disini kalian bisa melakukan coding. Misalnya, tadi kita mendeklarasikan variable numbers. Misalnya ya, terlalu kecil mungkin ya, sebab saya besarkan untuk dulu. numbers lalu kita kena kan kita kasih operator assignment kita kasih 5 nah kalau kita misalnya print numbers kita eksekusi eksekusinya dengan menekan tombol ini ya apa namanya tombol seperti play button itu ya dia akan mencetak alka 5 kalau kita klik number nah kalau kita misalnya ingin mengetahui tipe data dari variable numbers kita ketik type nah type ini salah satu metode juga nah kita lihat apa tipe data dari numbers klik di play button tipe data dari numbers adalah integer jadi 5 itu sebuah integer berbeda kalau misalnya 5 kita kasih ada kutip sebagai karakter atau string kita eksekusi lagi kita lihat tipe datanya Dia bertipe string, str yang mengindikasi kalau dia adalah sebuah string. Kalau kita misalnya tadi kita sempat belajar mengenai list, kita kasih dalam kurung. Satu, dua, tiga, dan lima. Kita lihat tipe datanya apa. Tipe datanya adalah list. Jadi tipe data dari numbers sekarang ada list karena kita sudah mengalokasikan beberapa nilai yang kita sebut dengan elemen ke dalam tipe data numbers. Nah kembali lagi. Ini adalah bahasa pengurangan dengan menggunakan Python. Kalau kalian menggunakan Java, mungkin sintaksnya atau perintah-perintahnya tidak sama atau berbeda, sedikit berbeda. Jadi... Itu kalau kalian mau belajar bagaimana kalian atau mengimplementasikan apa yang sudah tadi kita lihat di presentasi. Beberapa struktur tipe data, tipe data yang kita lakukan. Misalnya kita lakukan penambahan. Nomor 1 ditambah dengan nomor 2. Berisi dengan. Hai takut Hai kalau kita satu kita tambah numbers2 ya Hai berhasilnya nah dia hanya akan menggabungkan dua nilai yang kita dapat dari number 1 di concatenate atau ditambahkan ke elemen-elemen yang kita deklarasikan di numbers 2 ya, digabungkan saja seperti itu nah, itu yang mungkin kalian bisa coba untuk pembelajaran mandi kalian kalau kalian mau mencobanya datang ke Google Drive yang kalian punyai, kemudian klik New, pilih More, dan Google Collaborator. Lalu kalian akan dihadapkan dengan tampilan seperti ini yang ada di slide sekalian. Ini kita sebut dengan, ada beberapa orang bilang Jupyter Notebook. Kita bilangnya sebagai Notebook. Terima kasih. Nah, dari itu sekarang sudah setengah 11 di situ ya. Di situ ada pertanyaan dulu sebelum kita akhiri untuk perhubungan perteman kita minggu ini. Ada yang ingin ditanyakan?