{ "cells": [ { "cell_type": "markdown", "id": "56806cf1-2444-4588-9b76-44c6278e45c8", "metadata": {}, "source": [ "# Tipe Data, Variabel, dan Operator di Bahasa Pemrograman Python\n", "Dalam dunia pemrograman, konsep tipe data menggambarkan jenis informasi yang bisa kita olah. Variabel adalah tempat menyimpan data dengan nama tertentu, sementara operator adalah alat untuk manipulasi data. Di Python, tipe data termasuk int (bilangan bulat), float (bilangan pecahan), str (teks), dan bool (benar/salah). Variabel memberi label pada data, mempermudah penggunaan. Operator memungkinkan perhitungan dan manipulasi data. Pahami konsep ini untuk memulai praktik coding yang efektif." ] }, { "cell_type": "markdown", "id": "d676db0e-6749-44e2-993f-f7dc6f4bde0f", "metadata": {}, "source": [ "## A. Tipe Data" ] }, { "cell_type": "markdown", "id": "cb38b82f-88a9-40d7-b77b-1879b4a48a76", "metadata": {}, "source": [ "## 1. String\n", "Di dalam bahasa pemrograman Python, sebuah string adalah tipe data yang digunakan untuk merepresentasikan urutan karakter. Sebuah string dapat berisi satu atau lebih karakter, seperti huruf, angka, simbol, dan spasi. String biasanya digunakan untuk menyimpan teks atau data yang berhubungan dengan teks.String dapat dibuat di dalam Python dengan menggunakan tanda kutip tunggal (') atau tanda kutip ganda (\"). Contohnya:" ] }, { "cell_type": "code", "execution_count": null, "id": "c97cf4c5", "metadata": {}, "outputs": [], "source": [ "nama = \"John\"\n", "pesan = 'Halo, apa kabar?'" ] }, { "cell_type": "markdown", "id": "024fac9e", "metadata": {}, "source": [ "Python juga mendukung pembuatan string multi-baris dengan menggunakan tiga tanda kutip tunggal atau tiga tanda kutip ganda. Contohnya:" ] }, { "cell_type": "code", "execution_count": 1, "id": "7b226048", "metadata": {}, "outputs": [], "source": [ "paragraf = \"\"\"Ini adalah contoh\n", "string multi-baris.\n", "String ini dapat\n", "melibatkan banyak baris.\"\"\"" ] }, { "cell_type": "markdown", "id": "778d7970", "metadata": {}, "source": [ "String memiliki berbagai metode bawaan yang memungkinkan Anda untuk melakukan operasi seperti penggabungan string, pemotongan, pencarian, penggantian, dan banyak lagi. Contohnya:" ] }, { "cell_type": "code", "execution_count": null, "id": "b04ba75d", "metadata": {}, "outputs": [], "source": [ "sapaan = \"Halo\"\n", "nama = \"Alice\"\n", "pesan = sapaan + \", \" + nama + \"!\"\n", "print(pesan) # Output: Halo, Alice!" ] }, { "cell_type": "markdown", "id": "dcf0f14a", "metadata": {}, "source": [ "Anda juga dapat mengakses karakter individual dalam sebuah string menggunakan indeks, seperti:" ] }, { "cell_type": "code", "execution_count": null, "id": "ca4cd2e0", "metadata": {}, "outputs": [], "source": [ "kalimat = \"Contoh\"\n", "print(kalimat[0]) # Output: C\n", "print(kalimat[2]) # Output: n" ] }, { "cell_type": "markdown", "id": "654ebe05-c282-499b-b652-9fe6c9bfc85d", "metadata": {}, "source": [ "## 2. Integer\n", "Dalam bahasa pemrograman Python, \"integer\" adalah tipe data yang digunakan untuk merepresentasikan bilangan bulat. Integer adalah angka tanpa bagian desimal atau pecahan. Misalnya, 1, -5, dan 0 semuanya adalah integer." ] }, { "cell_type": "code", "execution_count": null, "id": "8e908f72", "metadata": {}, "outputs": [], "source": [ "umur = 25\n", "saldo = -100" ] }, { "cell_type": "markdown", "id": "720176cb", "metadata": {}, "source": [ "Anda juga dapat melakukan operasi matematika pada integer, seperti penjumlahan, pengurangan, perkalian, dan pembagian:" ] }, { "cell_type": "code", "execution_count": 3, "id": "b582bb4d", "metadata": {}, "outputs": [], "source": [ "angka1 = 10\n", "angka2 = 5\n", "\n", "penjumlahan = angka1 + angka2 # 10 + 5 = 15\n", "pengurangan = angka1 - angka2 # 10 - 5 = 5\n", "perkalian = angka1 * angka2 # 10 * 5 = 50\n", "pembagian = angka1 / angka2 # 10 / 5 = 2.0 (hasilnya dalam bentuk float)" ] }, { "cell_type": "markdown", "id": "b910ccff", "metadata": {}, "source": [ "Dalam Python, operasi pembagian antara dua integer akan menghasilkan float jika hasilnya bukan bilangan bulat. Selain itu, Anda juga dapat menggunakan operasi seperti modulus (%) untuk mendapatkan sisa dari pembagian dua integer:" ] }, { "cell_type": "code", "execution_count": null, "id": "d61386cb", "metadata": {}, "outputs": [], "source": [ "sisa = angka1 % angka2 # 10 % 5 = 0 (tidak ada sisa)" ] }, { "cell_type": "markdown", "id": "92c59ed8", "metadata": {}, "source": [ "Integer di Python umumnya tidak memiliki batasan ukuran tetap, yang berarti Anda dapat menggunakan integer dengan angka yang sangat besar atau sangat kecil sesuai kebutuhan. Dalam rangkaian pemrograman yang lebih kompleks, integer sering digunakan untuk menghitung, melacak indeks, dan berbagai tujuan matematika lainnya." ] }, { "cell_type": "markdown", "id": "2fe6ca98-0450-400a-98be-6898b5fe9a10", "metadata": {}, "source": [ "## 3. Float\n", "\"Float\" adalah tipe data yang digunakan untuk merepresentasikan angka desimal atau pecahan. Float mewakili angka dengan bagian desimal dan bisa memiliki presisi hingga sejumlah bit tertentu. Misalnya, 3.14, -0.5, dan 2.71828 adalah contoh angka float. Anda dapat membuat variabel dengan tipe data float seperti ini:" ] }, { "cell_type": "code", "execution_count": 4, "id": "c6ff4ee9", "metadata": {}, "outputs": [], "source": [ "tinggi = 1.75\n", "berat = 68.5" ] }, { "cell_type": "markdown", "id": "3b7e053f", "metadata": {}, "source": [ "Float dapat digunakan untuk melakukan operasi matematika yang melibatkan angka desimal:" ] }, { "cell_type": "code", "execution_count": null, "id": "83020e40", "metadata": {}, "outputs": [], "source": [ "angka1 = 3.5\n", "angka2 = 1.5\n", "\n", "penjumlahan = angka1 + angka2 # 3.5 + 1.5 = 5.0\n", "pengurangan = angka1 - angka2 # 3.5 - 1.5 = 2.0\n", "perkalian = angka1 * angka2 # 3.5 * 1.5 = 5.25\n", "pembagian = angka1 / angka2 # 3.5 / 1.5 = 2.3333333333333335" ] }, { "cell_type": "markdown", "id": "28bddf10", "metadata": {}, "source": [ "Perlu diingat bahwa beberapa operasi aritmatika pada float dapat menghasilkan sedikit ketidakakuratan karena representasi biner pada komputer. Oleh karena itu, kadang-kadang perbedaan sangat kecil dalam hasil perhitungan float adalah hal yang diharapkan. Float juga dapat digunakan bersama dengan integer dalam operasi matematika:" ] }, { "cell_type": "code", "execution_count": 5, "id": "a78251f8", "metadata": {}, "outputs": [], "source": [ "angka_bulat = 5\n", "angka_desimal = 2.5\n", "\n", "hasil = angka_bulat + angka_desimal # 5 + 2.5 = 7.5" ] }, { "cell_type": "markdown", "id": "13744c6d", "metadata": {}, "source": [ "Ketika menggunakan float, pastikan Anda memahami bagaimana ketidakakuratan representasi float dapat mempengaruhi hasil perhitungan, terutama ketika bekerja dengan perhitungan yang memerlukan presisi yang tinggi." ] }, { "cell_type": "markdown", "id": "21f11565-1408-4cfe-bc7f-e12903b46f86", "metadata": {}, "source": [ "## 4. Boolean\n", "\"Boolean\" adalah tipe data yang hanya memiliki dua nilai mungkin: True (benar) dan False (salah). Tipe data boolean digunakan untuk mewakili nilai kebenaran dalam konteks evaluasi logika. Biasanya digunakan dalam struktur pengontrol seperti pernyataan kondisional (if statements) atau dalam perhitungan logika." ] }, { "cell_type": "code", "execution_count": null, "id": "b54a8f73", "metadata": {}, "outputs": [], "source": [ "benar = True\n", "salah = False" ] }, { "cell_type": "markdown", "id": "5c2f0dae", "metadata": {}, "source": [ "Operator perbandingan dalam Python menghasilkan nilai boolean. Contohnya:" ] }, { "cell_type": "code", "execution_count": null, "id": "f848fb89", "metadata": {}, "outputs": [], "source": [ "angka1 = 10\n", "angka2 = 5\n", "\n", "hasil_1 = angka1 > angka2 # True (10 lebih besar dari 5)\n", "hasil_2 = angka1 == angka2 # False (10 tidak sama dengan 5)\n", "hasil_3 = angka1 <= angka2 # False (10 tidak kurang dari atau sama dengan 5)" ] }, { "cell_type": "markdown", "id": "6c90a65b", "metadata": {}, "source": [ "Operator logika seperti and, or, dan not juga digunakan untuk melakukan evaluasi logika pada nilai boolean:" ] }, { "cell_type": "code", "execution_count": 6, "id": "81cad447", "metadata": {}, "outputs": [], "source": [ "benar = True\n", "salah = False\n", "\n", "hasil_and = benar and salah # False (kedua nilai harus benar untuk hasil benar)\n", "hasil_or = benar or salah # True (hanya satu nilai harus benar untuk hasil benar)\n", "hasil_not = not benar # False (nilai boolean diubah menjadi kebalikannya)" ] }, { "cell_type": "markdown", "id": "c82385a3", "metadata": {}, "source": [ "Tipe data boolean sangat penting dalam pengambilan keputusan di dalam program, karena memungkinkan kita untuk membuat logika yang bergantung pada kebenaran atau kesalahan dari pernyataan tertentu. Misalnya, dalam pernyataan kondisional:" ] }, { "cell_type": "code", "execution_count": 7, "id": "5f7f83cd", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Anda sudah dewasa.\n" ] } ], "source": [ "umur = 18\n", "if umur >= 18:\n", " print(\"Anda sudah dewasa.\")\n", "else:\n", " print(\"Anda belum dewasa.\")\n" ] }, { "cell_type": "markdown", "id": "854fbc4f", "metadata": {}, "source": [ "Dalam contoh di atas, pernyataan umur >= 18 akan menghasilkan nilai boolean yang akan menentukan jalur mana yang akan diambil dalam struktur pengontrol if-else." ] }, { "cell_type": "markdown", "id": "d6672a31", "metadata": {}, "source": [ "## 5. List\n", "List adalah salah satu tipe data yang paling sering digunakan karena fleksibilitasnya dalam menyimpan berbagai jenis data, seperti angka, string, boolean, atau bahkan objek yang lebih kompleks. Setiap elemen dalam list memiliki indeks yang dimulai dari 0. Anda dapat membuat list dengan menggunakan tanda kurung kotak [ ] dan memisahkan elemen-elemennya dengan koma:" ] }, { "cell_type": "code", "execution_count": 8, "id": "bfb372ee", "metadata": {}, "outputs": [], "source": [ "angka = [1, 2, 3, 4, 5]\n", "huruf = ['a', 'b', 'c', 'd']\n", "campuran = [1, 'saya', True, 2.5]" ] }, { "cell_type": "markdown", "id": "07db6291", "metadata": {}, "source": [ "Anda juga dapat membuat list kosong dan kemudian menambahkan elemen ke dalamnya:" ] }, { "cell_type": "code", "execution_count": 9, "id": "b9f33c72", "metadata": {}, "outputs": [], "source": [ "kosong = []\n", "kosong.append(10)\n", "kosong.append('teks')" ] }, { "cell_type": "markdown", "id": "855c4b91", "metadata": {}, "source": [ "Anda dapat mengakses elemen-elemen dalam list berdasarkan indeks:" ] }, { "cell_type": "code", "execution_count": null, "id": "72fc8a51", "metadata": {}, "outputs": [], "source": [ "angka = [10, 20, 30, 40, 50]\n", "print(angka[0]) # Output: 10 (elemen pertama)\n", "print(angka[2]) # Output: 30 (elemen ketiga)" ] }, { "cell_type": "markdown", "id": "53c2526a", "metadata": {}, "source": [ "Anda juga dapat melakukan operasi pada list, seperti penggabungan (concatenation) dan pemotongan (slicing):" ] }, { "cell_type": "code", "execution_count": null, "id": "28673b99", "metadata": {}, "outputs": [], "source": [ "list1 = [1, 2, 3]\n", "list2 = [4, 5, 6]\n", "gabungan = list1 + list2 # [1, 2, 3, 4, 5, 6]\n", "\n", "potongan = angka[1:4] # [20, 30, 40]" ] }, { "cell_type": "markdown", "id": "f5cd4530", "metadata": {}, "source": [ "Selain itu, Anda dapat menggunakan berbagai metode bawaan pada list, seperti append(), remove(), pop(), dan lain-lain, untuk melakukan manipulasi data dalam list. List merupakan struktur data yang sangat serbaguna dan berguna dalam banyak situasi, termasuk penyimpanan, pengolahan, dan manajemen data dalam program Python." ] }, { "cell_type": "markdown", "id": "5da884c4", "metadata": {}, "source": [ "## 6. Tuple\n", "Tuple adalah struktur data yang mirip dengan list, tetapi dengan perbedaan utama: tuple bersifat tidak dapat diubah (immutable), artinya setelah tuple dibuat, elemen-elemennya tidak dapat diubah, ditambah, atau dihapus. Tuple biasanya digunakan untuk menyimpan kumpulan data yang terkait tetapi tidak boleh berubah. Tuple dibuat dengan menggunakan tanda kurung biasa () dan elemen-elemennya dipisahkan oleh koma:" ] }, { "cell_type": "code", "execution_count": null, "id": "fbc00405", "metadata": {}, "outputs": [], "source": [ "tuple_angka = (1, 2, 3, 4, 5)\n", "tuple_huruf = ('a', 'b', 'c', 'd')\n", "tuple_campuran = (1, 'saya', True, 2.5)" ] }, { "cell_type": "markdown", "id": "fafbf701", "metadata": {}, "source": [ "Anda juga dapat membuat tuple tanpa perlu menggunakan tanda kurung, cukup dengan memisahkan elemen-elemennya dengan koma" ] }, { "cell_type": "code", "execution_count": null, "id": "7a004f65", "metadata": {}, "outputs": [], "source": [ "tanpa_tanda_kurung = 1, 2, 3" ] }, { "cell_type": "markdown", "id": "30cb57cc", "metadata": {}, "source": [ "Seperti list, elemen-elemen dalam tuple diindeks mulai dari 0:" ] }, { "cell_type": "code", "execution_count": 10, "id": "2123f6a3", "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "10\n", "30\n" ] } ], "source": [ "tuple_angka = (10, 20, 30, 40, 50)\n", "print(tuple_angka[0]) # Output: 10 (elemen pertama)\n", "print(tuple_angka[2]) # Output: 30 (elemen ketiga)" ] }, { "cell_type": "markdown", "id": "d64122b0", "metadata": {}, "source": [ "Meskipun elemen-elemen dalam tuple tidak dapat diubah setelah dibuat, Anda masih dapat mengakses dan menggunakan data dalam tuple dengan cara yang sama seperti list. Tuple sering digunakan ketika Anda ingin memastikan data tidak berubah, misalnya ketika mengirim data ke fungsi atau metode yang tidak boleh mengubah nilai-nilai tersebut. " ] }, { "cell_type": "code", "execution_count": 11, "id": "934ce8d6", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "X: 10 Y: 20\n" ] } ], "source": [ "koordinat = (10, 20)\n", "print(\"X:\", koordinat[0], \"Y:\", koordinat[1])" ] }, { "cell_type": "markdown", "id": "73cfc199", "metadata": {}, "source": [ "## 7. Dict\n", "\"Dict\" (atau disebut juga \"dictionary\") adalah struktur data yang digunakan untuk menyimpan data dalam bentuk pasangan \"kunci-nilai\" (key-value pairs). Setiap kunci dalam dictionary harus unik dan digunakan untuk mengakses nilai yang terkait. Dictionaries sangat berguna ketika Anda ingin menghubungkan data dengan kunci tertentu untuk melakukan pencarian cepat. Dictionaries dibuat dengan menggunakan tanda kurung kurawal {} dan pasangan kunci-nilai dipisahkan oleh tanda titik dua ':'. Contohnya:" ] }, { "cell_type": "code", "execution_count": 12, "id": "6e3625ba", "metadata": {}, "outputs": [], "source": [ "data_mahasiswa = {\n", " 'nama': 'John Doe',\n", " 'umur': 25,\n", " 'jurusan': 'Informatika'\n", "}" ] }, { "cell_type": "markdown", "id": "7b8e0115", "metadata": {}, "source": [ "Anda dapat mengakses nilai dalam dictionary dengan menggunakan kunci yang terkait:" ] }, { "cell_type": "code", "execution_count": 13, "id": "12145eec", "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "John Doe\n", "25\n" ] } ], "source": [ "print(data_mahasiswa['nama']) # Output: John Doe\n", "print(data_mahasiswa['umur']) # Output: 25" ] }, { "cell_type": "markdown", "id": "46e5c374", "metadata": {}, "source": [ "Anda juga dapat menambahkan, mengubah, atau menghapus pasangan kunci-nilai dalam dictionary:" ] }, { "cell_type": "code", "execution_count": null, "id": "d5e4f559", "metadata": {}, "outputs": [], "source": [ "data_mahasiswa['email'] = 'john@example.com' # Menambahkan pasangan kunci-nilai baru\n", "data_mahasiswa['umur'] = 26 # Mengubah nilai yang terkait dengan kunci 'umur'\n", "del data_mahasiswa['jurusan'] # Menghapus pasangan kunci-nilai dengan kunci 'jurusan'" ] }, { "cell_type": "markdown", "id": "776907a2", "metadata": {}, "source": [ "Dictionaries dapat berisi tipe data apa pun untuk nilai, termasuk angka, string, list, tuple, dan bahkan dictionary lain:" ] }, { "cell_type": "code", "execution_count": null, "id": "7d91c0cb", "metadata": {}, "outputs": [], "source": [ "data = {\n", " 'angka': 42,\n", " 'teks': 'Hello',\n", " 'daftar': [1, 2, 3],\n", " 'koordinat': (10, 20),\n", " 'informasi': {\n", " 'nama': 'Alice',\n", " 'umur': 30\n", " }\n", "}" ] }, { "cell_type": "markdown", "id": "42d6981f", "metadata": {}, "source": [ "Dictionaries sangat berguna dalam berbagai situasi, seperti menyimpan konfigurasi, mengelompokkan data, atau menghubungkan data yang berhubungan. Kunci dari dictionary harus bersifat unik, karena setiap kunci digunakan untuk mengidentifikasi nilai tertentu dalam dictionary." ] }, { "cell_type": "markdown", "id": "796a18ef", "metadata": {}, "source": [ "## 8. Set\n", "Set adalah struktur data yang digunakan untuk menyimpan kumpulan elemen yang unik dan tidak diurutkan. Set mirip dengan himpunan matematika, di mana setiap elemen dalam set harus unik dan tidak memiliki urutan tertentu. Set digunakan untuk operasi-operasi matematika seperti penggabungan, irisan, dan perbedaan antara himpunan-himpunan elemen. Set dibuat dengan menggunakan tanda kurung kurawal {}. Elemen-elemen dalam set dipisahkan dengan koma. Contohnya:" ] }, { "cell_type": "code", "execution_count": 15, "id": "3ca42ecc", "metadata": {}, "outputs": [], "source": [ "hewan = {'kucing', 'anjing', 'kelinci'}\n", "bilangan = {1, 2, 3, 4, 5}\n", "campuran = {1, 'saya', True}" ] }, { "cell_type": "markdown", "id": "1c481329", "metadata": {}, "source": [ "Anda juga dapat membuat set kosong dan kemudian menambahkan elemen ke dalamnya:" ] }, { "cell_type": "code", "execution_count": null, "id": "ecd61709", "metadata": {}, "outputs": [], "source": [ "kosong = set()\n", "kosong.add(10)\n", "kosong.add('teks')" ] }, { "cell_type": "markdown", "id": "ec202f2e", "metadata": {}, "source": [ "Set memiliki sifat unik, yang berarti tidak dapat ada elemen yang sama dalam satu set:" ] }, { "cell_type": "code", "execution_count": null, "id": "20ffadba", "metadata": {}, "outputs": [], "source": [ "angka = {1, 2, 3, 3, 4, 4, 5}\n", "print(angka) # Output: {1, 2, 3, 4, 5}" ] }, { "cell_type": "markdown", "id": "8530ac8b", "metadata": {}, "source": [ "Anda dapat menggunakan operasi matematika seperti union, intersection, dan difference pada set:" ] }, { "cell_type": "code", "execution_count": 17, "id": "67ef3864", "metadata": {}, "outputs": [], "source": [ "set1 = {1, 2, 3}\n", "set2 = {3, 4, 5}\n", "\n", "gabungan = set1.union(set2) # {1, 2, 3, 4, 5}\n", "irisan = set1.intersection(set2) # {3}\n", "perbedaan = set1.difference(set2) # {1, 2}" ] }, { "cell_type": "markdown", "id": "263b82ac", "metadata": {}, "source": [ "Set sering digunakan untuk melakukan operasi seperti menghapus duplikat dari daftar atau melakukan pencarian cepat apakah suatu elemen ada dalam kumpulan tertentu. Namun, perlu diingat bahwa set tidak mengatur urutan elemen, jadi elemen-elemen tidak memiliki indeks. Jika Anda memerlukan urutan atau indeks, Anda mungkin lebih memilih menggunakan list atau tuple." ] }, { "attachments": {}, "cell_type": "markdown", "id": "d010b3c3", "metadata": {}, "source": [ "## B. Operasi Aritmatika\n", "Dalam bahasa pemrograman Python, terdapat berbagai operasi aritmatika yang digunakan untuk melakukan perhitungan matematika pada angka atau nilai numerik. Berikut adalah beberapa contoh operasi aritmatika yang umum digunakan:" ] }, { "cell_type": "code", "execution_count": null, "id": "30defa5c", "metadata": {}, "outputs": [], "source": [ "# Penjumlahan (+): Menggabungkan dua angka untuk mendapatkan hasil penjumlahan\n", "hasil = 5 + 3 \n", "\n", "# Pengurangan (-): Mengurangkan angka kedua dari angka pertama untuk mendapatkan hasil pengurangan.\n", "hasil = 10 - 4\n", "\n", "# Perkalian (*): Mengalikan dua angka untuk mendapatkan hasil perkalian.\n", "hasil = 3 * 4\n", "\n", "# Pembagian (/): Membagi angka pertama dengan angka kedua untuk mendapatkan hasil pembagian dalam bentuk float.\n", "hasil = 15 / 5\n", "\n", "# Pembagian Bulat (//): Membagi angka pertama dengan angka kedua dan mengambil hasilnya tanpa bagian desimal\n", "hasil = 15 // 4\n", "\n", "# Modulus (%): Menghitung sisa hasil pembagian antara angka pertama dan angka kedua.\n", "hasil = 15 % 4\n", "\n", "# Pangkat ()**: Menaikkan angka pertama ke pangkat angka kedua.\n", "hasil = 2 ** 3" ] }, { "cell_type": "markdown", "id": "517846e9", "metadata": {}, "source": [ "Prioritas Operasi: Dalam perhitungan yang melibatkan beberapa operasi, Python mengikuti aturan prioritas operasi matematika standar, seperti penjumlahan dan pengurangan dilakukan sebelum perkalian dan pembagian. Jika perlu, Anda dapat menggunakan tanda kurung untuk mengatur urutan operasi. Misalnya:" ] }, { "cell_type": "code", "execution_count": 18, "id": "83c28ebf", "metadata": {}, "outputs": [], "source": [ "hasil = 3 + 4 * 2 # Output: 11 (perkalian dilakukan terlebih dahulu)\n", "hasil = (3 + 4) * 2 # Output: 14 (penjumlahan dilakukan terlebih dahulu)" ] }, { "attachments": {}, "cell_type": "markdown", "id": "0d7e60a0", "metadata": {}, "source": [ "## C. Operasi Perbandingan\n", "Dalam bahasa pemrograman Python, terdapat operasi perbandingan yang digunakan untuk membandingkan dua nilai atau ekspresi. Hasil dari operasi perbandingan adalah nilai boolean (True atau False), yang menunjukkan apakah perbandingan tersebut benar atau salah. Berikut adalah beberapa contoh operasi perbandingan yang umum digunakan:" ] }, { "cell_type": "code", "execution_count": null, "id": "81a6d553", "metadata": {}, "outputs": [], "source": [ "# Sama dengan (==): Memeriksa apakah dua nilai atau ekspresi memiliki nilai yang sama.\n", "hasil = 5 == 5 # Output: True\n", "\n", "# Tidak sama dengan (!=): Memeriksa apakah dua nilai atau ekspresi memiliki nilai yang berbeda.\n", "hasil = 5 != 3 # Output: True\n", "\n", "# Lebih besar dari (>): Memeriksa apakah nilai pertama lebih besar dari nilai kedua.\n", "hasil = 10 > 5 # Output: True\n", "\n", "# Kurang dari (<): Memeriksa apakah nilai pertama lebih kecil dari nilai kedua.\n", "hasil = 3 < 7 # Output: True\n", "\n", "# Lebih besar atau sama dengan (>=): Memeriksa apakah nilai pertama lebih besar dari atau sama dengan nilai kedua.\n", "hasil = 8 >= 8 # Output: True\n", "\n", "# Kurang dari atau sama dengan (<=): Memeriksa apakah nilai pertama lebih kecil dari atau sama dengan nilai kedua.\n", "hasil = 4 <= 5 # Output: True" ] }, { "cell_type": "markdown", "id": "28b5c0e3", "metadata": {}, "source": [ "Anda juga dapat menggabungkan operasi perbandingan dengan operasi aritmatika dan logika untuk membuat struktur pengambilan keputusan yang lebih kompleks. Contohnya:" ] }, { "cell_type": "code", "execution_count": null, "id": "9e691d33", "metadata": {}, "outputs": [], "source": [ "umur = 18\n", "if umur >= 18:\n", " print(\"Anda sudah dewasa.\")\n", "else:\n", " print(\"Anda belum dewasa.\")\n" ] }, { "cell_type": "markdown", "id": "66b5a8a9", "metadata": {}, "source": [ "## D. Operasi Logika" ] }, { "cell_type": "markdown", "id": "ca15f710", "metadata": {}, "source": [ "Terdapat operasi logika yang digunakan untuk menggabungkan dan memanipulasi nilai boolean. Operasi logika umumnya digunakan dalam struktur pengambilan keputusan (if statements), perulangan (loops), dan evaluasi kondisi yang kompleks. Berikut adalah beberapa contoh operasi logika yang umum digunakan:" ] }, { "cell_type": "code", "execution_count": null, "id": "287ab5bc", "metadata": {}, "outputs": [], "source": [ "# AND (and): Menghasilkan nilai True jika kedua ekspresi memiliki nilai True.\n", "hasil = True and False # Output: False\n", "\n", "# OR (or): Menghasilkan nilai True jika salah satu ekspresi memiliki nilai True.\n", "hasil = True or False # Output: True\n", "\n", "# NOT (not): Membalikkan nilai boolean. Jika ekspresi memiliki nilai True, not akan menghasilkan nilai False, dan sebaliknya.\n", "hasil = not True # Output: False" ] }, { "cell_type": "markdown", "id": "96a464e8", "metadata": {}, "source": [ "Operasi logika ini sangat bermanfaat dalam mengatur alur program berdasarkan nilai boolean atau hasil operasi perbandingan. Misalnya:" ] }, { "cell_type": "code", "execution_count": 19, "id": "6f5d7a56", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Anda adalah mahasiswa dewasa.\n" ] } ], "source": [ "umur = 25\n", "is_mahasiswa = True\n", "\n", "if umur >= 18 and is_mahasiswa:\n", " print(\"Anda adalah mahasiswa dewasa.\")\n", "else:\n", " print(\"Anda belum memenuhi syarat.\")\n" ] }, { "cell_type": "markdown", "id": "2404daec", "metadata": {}, "source": [ "Dalam contoh di atas, kondisi akan dievaluasi dengan menggunakan operasi logika and untuk memeriksa apakah umur lebih besar dari atau sama dengan 18 dan apakah status mahasiswa adalah True. Jika kedua kondisi ini terpenuhi, pesan yang sesuai akan dicetak. Operasi logika ini memungkinkan Anda untuk membangun struktur pengambilan keputusan yang lebih canggih dan kompleks." ] }, { "cell_type": "markdown", "id": "0228d959", "metadata": {}, "source": [ "## E. Operasi Penugasan\n", "Operasi penugasan digunakan untuk memberikan nilai kepada variabel. Operasi ini memungkinkan Anda untuk menginisialisasi, mengubah, atau memperbarui nilai dalam variabel. Berikut adalah beberapa contoh operasi penugasan yang umum digunakan:" ] }, { "cell_type": "code", "execution_count": null, "id": "5f04f1fb", "metadata": {}, "outputs": [], "source": [ "# Penugasan Sederhana (=): Memberikan nilai dari ekspresi ke variabel.\n", "x = 10\n", "nama = \"Alice\"\n", "\n", "# Penugasan dengan Aritmatika (+=, -=, *=, /=): Menggabungkan operasi aritmatika dengan penugasan. Misalnya, x += 5 sama dengan x = x + 5.\n", "angka = 10\n", "angka += 5 # Setelah operasi ini, nilai angka menjadi 15\n", "\n", "# Penugasan dengan Perbandingan (<=, >=, !=, dll.): Memeriksa dan memberikan nilai boolean hasil operasi perbandingan.\n", "x = 10\n", "y = 5\n", "hasil = x > y # Hasil menjadi True karena 10 > 5\n", "\n", "# Penugasan dengan Ekspressi Lain: Anda dapat menggunakan ekspresi lebih kompleks dalam operasi penugasan.\n", "hasil = (x + y) * 2\n", "\n", "# Multiple Assignment: Anda dapat menugaskan nilai ke beberapa variabel sekaligus dalam satu baris.\n", "a, b, c = 1, 2, 3\n", "\n", "# Penugasan dengan Tipe Data Lain: Anda bahkan dapat menugaskan nilai ke variabel dari berbagai tipe data.\n", "angka = 5\n", "teks = \"Contoh\"\n", "\n" ] }, { "attachments": {}, "cell_type": "markdown", "id": "2fb6c5b2", "metadata": {}, "source": [ "## F. Operasi Bitwise\n", "Operasi bitwise adalah operasi yang bekerja pada level bit dalam representasi biner dari data. Dalam bahasa pemrograman Python, Anda dapat melakukan operasi bitwise pada tipe data integer. Operasi ini digunakan untuk memanipulasi dan mengontrol bit individu dalam bilangan. Berikut adalah beberapa operasi bitwise yang umum digunakan:" ] }, { "cell_type": "code", "execution_count": null, "id": "9bd82047", "metadata": {}, "outputs": [], "source": [ "# Bitwise AND (&): Menghasilkan hasil yang memiliki bit 1 di setiap posisi jika kedua bit yang sedang dioperasikan juga 1.\n", "a = 5 # 101 dalam biner\n", "b = 3 # 011 dalam biner\n", "hasil = a & b # 001 dalam biner, atau 1 dalam desimal\n", "\n", "\n", "# Bitwise OR (|): Menghasilkan hasil yang memiliki bit 1 di setiap posisi jika salah satu atau kedua bit yang sedang dioperasikan adalah 1.\n", "a = 5 # 101 dalam biner\n", "b = 3 # 011 dalam biner\n", "hasil = a | b # 111 dalam biner, atau 7 dalam desimal\n", "\n", "\n", "# Bitwise XOR (^): Menghasilkan hasil yang memiliki bit 1 di setiap posisi jika hanya salah satu dari kedua bit yang sedang dioperasikan adalah 1.\n", "a = 5 # 101 dalam biner\n", "b = 3 # 011 dalam biner\n", "hasil = a ^ b # 110 dalam biner, atau 6 dalam desimal\n", "\n", "\n", "# Bitwise NOT (~): Membalikkan bit, mengubah bit 0 menjadi 1 dan sebaliknya. Perlu diperhatikan bahwa operasi ini menghasilkan hasil yang sangat tergantung pada representasi biner dari angka.\n", "a = 5 # 101 dalam biner\n", "hasil = ~a # -6 dalam desimal\n", "\n", "# Shift Kiri (<<): Menggeser bit ke kiri sebanyak n posisi, menghasilkan hasil yang lebih besar jika bit yang dioperasikan dianggap sebagai angka biner.\n", "a = 5 # 101 dalam biner\n", "hasil = a << 2 # 10100 dalam biner, atau 20 dalam desimal\n", "\n", "\n", "# Shift Kanan (>>): Menggeser bit ke kanan sebanyak n posisi, menghasilkan hasil yang lebih kecil jika bit yang dioperasikan dianggap sebagai angka biner.\n", "a = 10 # 1010 dalam biner\n", "hasil = a >> 1 # 101 dalam biner, atau 5 dalam desimal" ] }, { "cell_type": "markdown", "id": "441237d8", "metadata": {}, "source": [ "## G. Studi Kasus" ] }, { "cell_type": "markdown", "id": "5df86998", "metadata": {}, "source": [ "### a. Studi Kasus 1: Kalkulator Sederhana\n", "\n", "Buatlah kalkulator sederhana yang memungkinkan pengguna melakukan operasi penjumlahan, pengurangan, perkalian, dan pembagian pada dua angka." ] }, { "cell_type": "code", "execution_count": null, "id": "cfd193c1", "metadata": {}, "outputs": [], "source": [ "def kalkulator():\n", " print(\"Operasi yang tersedia: \")\n", " print(\"1. Penjumlahan\")\n", " print(\"2. Pengurangan\")\n", " print(\"3. Perkalian\")\n", " print(\"4. Pembagian\")\n", " \n", " pilihan = input(\"Pilih operasi (1/2/3/4): \")\n", " angka1 = float(input(\"Masukkan angka pertama: \"))\n", " angka2 = float(input(\"Masukkan angka kedua: \"))\n", " \n", " if pilihan == '1':\n", " hasil = angka1 + angka2\n", " elif pilihan == '2':\n", " hasil = angka1 - angka2\n", " elif pilihan == '3':\n", " hasil = angka1 * angka2\n", " elif pilihan == '4':\n", " hasil = angka1 / angka2\n", " else:\n", " print(\"Pilihan tidak valid\")\n", " return\n", " \n", " print(\"Hasil:\", hasil)\n", "\n", "kalkulator()" ] }, { "cell_type": "markdown", "id": "3a8ebd42", "metadata": {}, "source": [ "### b. Studi Kasus 2: Penentuan Hari Kerja\n", "Buatlah program sederhana yang menentukan apakah hari yang diinputkan adalah hari kerja atau hari libur." ] }, { "cell_type": "code", "execution_count": null, "id": "c421e5db", "metadata": {}, "outputs": [], "source": [ "def cek_hari_kerja(hari):\n", " hari_kerja = [\"Senin\", \"Selasa\", \"Rabu\", \"Kamis\", \"Jumat\"]\n", " \n", " if hari in hari_kerja:\n", " return \"Hari kerja\"\n", " elif hari == \"Sabtu\" or hari == \"Minggu\":\n", " return \"Hari libur\"\n", " else:\n", " return \"Hari tidak valid\"\n", "\n", "input_hari = input(\"Masukkan nama hari: \")\n", "hasil = cek_hari_kerja(input_hari)\n", "print(hasil)\n" ] }, { "cell_type": "markdown", "id": "9b004a6b", "metadata": {}, "source": [ "### C. Konversi Suhu\n", "Buatlah program yang mengonversi suhu dari Celcius ke Fahrenheit atau sebaliknya, berdasarkan pilihan pengguna." ] }, { "cell_type": "code", "execution_count": null, "id": "c500201b", "metadata": {}, "outputs": [], "source": [ "def konversi_suhu():\n", " print(\"1. Konversi dari Celcius ke Fahrenheit\")\n", " print(\"2. Konversi dari Fahrenheit ke Celcius\")\n", " \n", " pilihan = input(\"Pilih konversi (1/2): \")\n", " \n", " if pilihan == '1':\n", " celsius = float(input(\"Masukkan suhu dalam Celcius: \"))\n", " fahrenheit = (celsius * 9/5) + 32\n", " print(\"Suhu dalam Fahrenheit:\", fahrenheit)\n", " elif pilihan == '2':\n", " fahrenheit = float(input(\"Masukkan suhu dalam Fahrenheit: \"))\n", " celsius = (fahrenheit - 32) * 5/9\n", " print(\"Suhu dalam Celcius:\", celsius)\n", " else:\n", " print(\"Pilihan tidak valid\")\n", "\n", "konversi_suhu()" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.11.4" } }, "nbformat": 4, "nbformat_minor": 5 }