Pembahasan Library String

 
Dari contoh soal-2:

Buatlah program yang digunakan untuk mengubah teks yang dimasukkan. Jika karakter yang dibaca adalah huruf kecil, maka ubah menjadi huruf besar. Jika karakter yang dibaca adalah huruf besar, maka ubah menjadi huruf kecil. Jika karakter yang dibaca adalah digit bilangan, maka tidak diubah menjadi apapun. Jika karakter yang dibaca adalah simbol seperti +, -, {, }, #, dll, maka karakter tersebut dihilangkan.
Contoh masukkan:
TinTin#2305
Contoh keluaran:
tINtIN2305

Berikut contoh program Python:
#Pembahasan Soal-2 Tugas 17 February
#Variabel Teks, Baru: string; i=integer

import string

Teks=input("Masukkan teks: ")
Baru=""
for i in range(len(Teks)):
    if (Teks[i] not in string.punctuation) and (Teks[i] not in string.whitespace):
        if (Teks[i] in string.ascii_uppercase):
            Baru += Teks[i].lower()
        elif (Teks[i] in string.ascii_lowercase):
            Baru += Teks[i].upper()
        else:
            Baru += Teks[i]
print(Baru)

Silahkan pelajari pembahasan diatas, buatlah komen diskusi dengan kelompok Anda di bagian komentar. Bu Tintin akan ikut melihat dan menjawab pertanyaan kelompok.

173 comments:

  1. Bu, ini berati kalau bagian input ditambahkan =str.maketrans(".!?;:-_/'~%#$%[]{}(@)|", 23*" ") bisa? Untuk mendeteksi inputnya

    ReplyDelete
    Replies
    1. Deteksinya mesti jelas itu, maketrans bukannya untuk translasi ya?
      Oya karena ini di blog, kamu sebut kelas nama ya, agar saya mudah mengikuti.

      Delete
    2. Lim Chang Wen XIA1 20
      Kalau ditambahkan translate bisa
      bu? Jadi misal
      simbol=str.maketrans(".!?,;:-_/'~%#$%[]{}(@)|", 23*" ")
      teksbaru=teksbaru.translate(simbol)

      Delete
    3. Apakah maketrans() dan translate() itu berbeda? (Kayleen Julietta XIA1/18)

      Delete
    4. Lim Chang Wen XIA1 20
      setau saya kalau tidak salah, maketrans digunakan untuk tempat menerjemahnya dan translate dapat digunakan untuk menyaring karakter dalam data tersebut kayy

      Delete
  2. string.whitespace itu perintah untuk apa ya?

    ReplyDelete
    Replies
    1. Kamu tulis kelas dan nama ya biar saya bisa ngikutin.
      string.whitespace itu isinya spasi, \t (tab) \n (enter) dll...

      Delete
  3. Averina C.G. XIA2/05
    Apakah opsi untuk menggunakan swapcase memungkinkan? Menurut saya itu akan mempermudah pembuatan program.

    ReplyDelete
    Replies
    1. Kemungkinan besar bisa ya, karena swapcase bisa langsung mengubah huruf besar jadi kecil dan begitu pula sebaliknya sehingga programnya lebih singkat.

      Adeline Setawijaya/ XI MIPA 2 /1

      Delete
    2. Alivia Angelin Elkos XI MIPA 2 / 3
      benar, dengan menggunakan swapcase kita juga melatih kemampuan kita dalam menggunakan fungsi array. Saya juga mau tanya untuk swapcase jika dimasukkan kedalam program diatas, itu digunakan untuk menggantikan perintah apa ya?

      Delete
    3. Averina C.G. XIA2/05
      Apakah mungkin maksudmu bagian "" dan baru+=? Jika kita menggunakan swapcase, formatnya tetap sama namun kita tidak harus menulis if dua kali(if uppercase dan if lowercase), setau saya begitu hahah.

      Delete
    4. Adeline Setawijaya / XI MIPA 2 /1

      Nah iya benar kita tidak perlu menulis if dua kali,
      sehingga kita bisa langsung menuliskan perintah:
      Baru += Teks[i].swapcase()

      Delete
    5. Alivia Angelin Elkos XI MIPA 2 / 3
      ooooo, seperti itu. Berarti dengan pakai perintah itu kita bisa menggantikan 2 perintah sekaligus ya, oke terimakasih jawabannya.

      Delete
    6. Coba kamu tulisin program yang kamu usulkan dengan swapcase itu

      Delete
    7. import string

      Teks=input("Masukkan teks: ")
      Baru=""
      for i in range(len(Teks)):
      if (Teks[i] not in string.punctuation) and (Teks[i] not in string.whitespace):
      Baru += Teks[i].swapcase()
      print(Baru)

      Delete
    8. Adeline Setawijaya / XI MIPA 2 /1
      Alivia Angelin Elkos XI MIPA 2 / 3
      Averina C.G. / XI MIPA 2/05

      Delete
  4. Siauw, Cheryl XIMIPA 2: string.whitespace itu perintah untuk apa ya?

    ReplyDelete
    Replies
    1. setauku perintah whitespace itu spasi cher, kalau misalnya data yang dimaksud itu bukan termasuk tanda baca atau spasi, maka dijadiin huruf kecil kalau awalnya huruf besar, dan dijadikan huruf besar kalau awalnya huruf kecil
      Stevia Anlena XI MIPA 2 / 26

      Delete
  5. Jonathan Alexander XI MIPA 2 : elif itu fungsinya untuk apa ya. Terimakasih🙏

    ReplyDelete
    Replies
    1. Membantu menjawab, Elif digunakan untuk menyeleksi beberapa kemungkinan yang bisa terjadi. Nicolla Sydney H./22 xia2

      Delete
  6. Bu, ini berarti pada program ini, kegunaan string sama dengan swapcase, ya? Tetapi string sendiri memiliki kegunaan lain selain mengganti uppercase dan lowercase. Nicolla Sydney H./22 xia2

    ReplyDelete
    Replies
    1. string itu library, Nic. swapcase itu fungsi untuk menukar.

      Delete
  7. Apa perbedaan penggunaan elif, if, dan else?

    Hanneke Noviani XIMIPA1/13

    ReplyDelete
    Replies
    1. Jadi, struktur else if (elif) hampir sama dengan struktur if else, ketika menggunakan struktur if else secara berulang harus menggunakan struktur else if.

      Janice Evelyn S XIMIPA1/15

      Delete
    2. Jacqueline Jeannifer XIMIPA1/14

      Saya ingin menambahkan mengenai fungsi-fungsinya agar lebih jelas lagi. Fungsi If dapat menjalankan suatu perintah dalam kondisi tertentu, jika kondisi fungsi If tidak terpenuhi maka fungsi Else akan ditambahkan untuk menjalankan perintah tersebut.

      Delete
    3. Ooo jadi program bu Tintin di atas memiliki banyak kondisi sehingga pakai elif ya??

      Delete
    4. ^Hanneke Noviani XIMIPA1/13

      Delete
    5. Jadi metode yang kamu usulkan apa nih? Itu tadi kan pembahasan tentang fungsi IF ya itu ada di blog ini bisa dilihat di https://theprogrammingclass.blogspot.com/p/pemrograman-dasar-python.html atau di video https://youtu.be/7V8htPqT25o

      Delete
    6. Metode yang lebih singkat bu, tidak menggunakan else maupun elif namun hasilnya sama.
      Janice Evelyn S XI MIPA 1/15

      Delete
    7. import string

      symbols = string.punctuation
      n=str(input("Masukkan teks:"))
      no_symbol=""
      for char in (n):
      if char not in symbols:
      no_symbol=no_symbol+char
      print(no_symbol.swapcase())

      Hanneke Noviani XIMIPA1/13
      Jacqueline Jeannifer XIMIPA1/14
      Janice Evelyn S XIMIPA1/15

      Delete
  8. saya mempunyai saran untuk menambahkan perintah string handling. sehingga bisa mempermudah pengecekan sebuah variabel, dan memeriksa jumlah kali tertentu karakter atau kata yang digunakan. bilamana dibutuhkan untuk mengecek variabel dan memeriksanya.

    Jonathan edbert XIMIPA1/16

    ReplyDelete
    Replies
    1. Kelihatannya menarik, coba kamu kasih contoh programnya Jonathan.

      Delete
    2. #include

      int main()
      {
      namakarakter[20]
      int len;
      gets(nama);
      len=strlen(nama);
      printf("length=%d",len);
      }
      kelihatanya seperti ini bu. maaf kalau salah hehe

      Jonathan edbert XIMIPA1/16

      Delete
  9. Clarissa Beatrice XIA2-8

    mungkin jika menggunakan string isalnum bisa lebih ringkas

    ReplyDelete
    Replies
    1. Bryan Christofano Sutedjo XI MIPA 2/6

      ooo bisa lebih ringkas emang gimana caranya?

      Delete
    2. Benecdita Clarissa XIA1/2

      isalnum itu apa yaa ?

      Delete

    3. #Variabel: h,i,j:
      h=(input("Masukkan kata:"))
      i=h.swapcase()
      j=""
      for character in i:
      if character.isalnum():
      j += character
      print(j)

      bisa pakai cara ini, disini jg pakaai swapcase untuk masalah huruf kapital

      isalnum itu untuk mengecek apakah karakternya alphanumeric ( huruf dan angka ) atau bukan

      Delete
    4. Setau saya isalnum itu digunakan untuk mengecek apakah string tsb mengandung text dan numeric atau keduanya, dan outputnya true atau false. (Kayleen XIA1/18)

      Delete
  10. This comment has been removed by the author.

    ReplyDelete
  11. Apa perbedaan string.whitespace dan string.punctuation???
    Amelia Kosasih/XIA1/10

    ReplyDelete
    Replies
    1. Bantu menjawab, string.whitespace itu segala jenis spasi, jadi tab dan enter juga termasuk
      Kalau string.punctuation itu isinya tanda baca jadi seperti titik, tanda seru, tanda tanya, dan sebagainya.
      Stevia / XIA2/26

      Delete
    2. mau menambahkan, keduanya merupakan kategori string library, namun terdapat perbedaan fungsi, sting.whitespace dapat digunakan untuk memberikan spasi antar karakternya, seperti contoh: tab, linefeed, return, formfeed, dan vertical tab. Sedangkan string.punctuation berisi semua karakter tanda baca, dan simbol yang umum, seperti titik, koma, titik koma,#,@, etc.  String ini dapat digunakan dalam program, seperti contoh program untuk mengetes karakter tanda baca yang ada, menghilangkan suatu simbol/tanda baca dlm suatu input, dsb.
      Grayson/XIA1/12

      Delete
    3. bagaimana cara kerja string punctuation? bisa dijelaskan salah satu contohnya?

      Delete
    4. ^ Elisabeth Amelia Kosasih /XIA1/10

      Delete
    5. *maksud saya dalam menghilangkan simbol, makasih

      Delete
    6. iya ini saya lgi ^ Elisabeth Amelia Kosasih /XIA1/10

      Delete
    7. Jadi setahuku, sistem akan membandingkan data yang
      kita input dengan sistem database. Jika karakter yang kita input sebelumnya sudah
      terdaftar pada database symbol, maka karakter tersebut akan dihilangkan.
      Sebaliknya jika karakter tidak terdaftar pada database, maka karakter akan tetap
      dimunculkan.
      -Contoh:
      #Program Menentukan Undian
      import string
      i=string.punctuation
      undi=str(input("Masukkan nama depan, simbol, lalu nomor urutan daftar: "))

      code=""
      for x in (undi):
          if x not in i:
              code=code+x

      print("Nomor undian Anda yaitu: ",code.swapcase())

      Felicia Adeline XIMIPA1 / 11

      Delete
  12. Sepertinya, jika tidak menggunakan variabel Baru pun memungkinkan
    Contohnya seperti ini:
    import string

    Teks=input("Teks: ")

    for i in range(len(Teks)):
    if (Teks[i] not in string.punctuation) and (Teks[i] not in string.whitespace):
    print(Teks[i].swapcase(), end="")

    ketika saya coba print hasilnya seperti ini:
    Masukkan teks: er gh .... 5678 hjko jen JEK huj
    ERGH5678HJKOJENjekHUJ
    >>>

    Stevia A/XIA2/26

    ReplyDelete
    Replies
    1. Yup, hanya saja hasilnya tidak tertampung dalam variabel.

      Delete
  13. Albert Tirto Kusumo || XIMIPA 1 || 1

    Saya berpikiran untuk memastikan angka yang diinput totalnya 4 berhubung kebanyakan akun-akun sekarang ini mengandung 4 angka yang berada di belakang simbol '#'. Contohnya saja yang sering saya jumpai adalah #XXXX di akun (app) Discord, akun RiotID, dan saya yakin masih banyak lagi yang menggunakan metode seperti ini walaupun tidak ditampilkan di User Interface atau dalam kata lain hanya tersimpan di dalam database (tidak ditunjukkan).
    Tujuan diadakannya sistem #XXXX dalam banyak akun atau aplikasi lainnya adalah untuk memperbolehkan seorang user memiliki nama (ID) yang sama dengan user lain baik huruf besar maupun kecil, karena semua yang membedakannya adalah #XXXX user.
    Sebagai tindak lanjut dari program pada blog ini, saya tetap menggunakan implementasi swapcase() untuk mengganti huruf kecil menjadi besar dan sebaliknya, walaupun sebetulnya di aplikasi-aplikasi lain tidak diimplementasikan. Untuk itu jika ingin dihilangkan, silakan baris variable ‘u’ dihapus saja dan semua variable ‘u’ diganti variable ‘n’.
    Berikut saya telah mencoba membuat program tanpa menghapus baris variable ‘u’ :
    #Program Klasifikasi ID dan # Number Akun Discord
    import string
    print("Program klasifikasi ID dan Hastag Discord")
    n=str(input("Masukkan ID dan #XXXX Anda di app Discord : "))
    limit=4
    jumlah_angka=0
    u=(n.swapcase())
    for i in range(len(n)) :
    if (n[i] >= '0' and n[i] <= '9') :
    jumlah_angka += 1
    if jumlah_angka != limit :
    print("Pastikan #XXXX memuat 4 angka !")
    else:
    for char in string.punctuation:
    u=u.replace(char, '')
    for char2 in string.whitespace:
    u=u.replace(char2,'')
    res = ''.join([i for i in u if i.isdigit()])
    res2 = ''.join([i for i in u if not i.isdigit()])
    #Hasil
    print("ID User Discord : ",res2)
    print("Hastag Number User Discord : ",res)
    print("Masukkanlah ID dan Hastag di tab 'Add Friend' untuk mencari dan menambahkan teman ^_^")

    Disini saya menggunakan isdigit() untuk mendeteksi dan memilah angka dalam string dan kelanjutannya saya gunakan .join function untuk memisahkan (jika ‘if not’ maka yang di print adalah angka saja dan sebaliknya jika tidak ada ‘not’, maka hanya hurufnya saja) angka yang ada di data input agar dapat ditampilkan pada #Hasil. Tak lupa string.whitespace() dan string.punctuation() untuk menghapus semua simbol dan tempat kosong (spasi) dalam data.
    Contoh benar :
    Input : Albert#1711
    Output :
    ID User Discord : aLBERT
    Hastag User Discord : 1711
    Masukkanlah ID dan Hastag di tab 'Add Friend' untuk mencari dan menambahkan teman ^_^
    Contoh salah :
    Input : Albert#17117
    Output : Pastikan #XXXX memuat 4 angka !
    Semoga bisa membantu, ditunggu kritik/sarannya terima kasih ^_^.

    ReplyDelete
  14. Saya ada saran….Bagaimana jika bagian pengecekkan huruf besar string.ascii_uppercase dan huruf kecil string.ascii_lowercase diganti menggunakan build in isupper() dan islower()? Lalu pada bagian for i in range(len(Teks)), dibuat menjadi for i in range Teks? Seperti dibawah ini….

    #Pembahasan Soal-2 Tugas 17 February
    #Variabel Teks, Baru: string; i=integer

    import string

    Teks=input("Masukkan teks: ")
    Baru=""
    for i in Teks:
    if (i not in string.punctuation) and (i not in string.whitespace):
    if (i.isupper()):
    Baru += (i.lower())
    elif (i.islower()):
    Baru += (i.upper())
    else:
    Baru += i
    print(Baru)

    Menurut saya, dengan langkah ini program akan lebih simpel dan mudah. Walaubegitu, hasil akan tetap sama.

    Esther Iskandar-XIMIPA2-10

    ReplyDelete
    Replies
    1. RALAT:
      *Lalu pada bagian for i in range(len(Teks)), dibuat menjadi for i in Teks? Seperti dibawah ini….*
      Esther Iskandar-XIMIPA2-10

      Delete
    2. This comment has been removed by the author.

      Delete
    3. Angeline Diva XI MIPA 4/01
      Supaya lebih singkat, kita bisa hanya menggunakan build in function swapcase,maketrans, dan translate.
      Swapcase () digunakan untuk mengkonversi string huruf besar dan huruf kecil. Berikut contohnya :

      import string
      x=input("Masukan teks: ")

      y=x.swapcase()
      punctuation= str.maketrans("#@.!?,;:-_/'~%&$*", 17*" ")
      y=y.translate(punctuation)
      print(y)

      Delete
  15. Romma Jona Siregar/23/XI MIPA4
    Saya ada saran, daripada menggunakan if dan elif dengan syarat yang banyak, bagaimana kalau pakai swapcase saja?

    ReplyDelete
    Replies
    1. Patricia Evelyn L XIA4/22
      Saya setuju sih, soalnya kalau pakai swapcase programnya jadi lebih pendek & simple. Fungsi swapcase bisa menggantikan baris if dan elif yang menggunakan uppercase dan lowercase.

      Delete
    2. Betul, ini contoh program kelompok kita
      (XIA4 : Patricia (22), Romma 23, Samuel(24))

      import string
      k=string.punctuation
      awal=str(input("Masukkan teks : "))
      akhir=""
      for karakter in (awal):
      if karakter not in k:
      akhir=akhir+karakter
      print("Teks barunya adalah",akhir.swapcase())

      Delete
  16. Austin Matthew /XIMIPA5/4

    Bu daripada repot" pakai

    if (Teks[i] in string.ascii_uppercase):
    Baru += Teks[i].lower()
    elif (Teks[i] in string.ascii_lowercase):
    Baru += Teks[i].upper()
    else:
    Baru += Teks[i]

    gimana kalau disimplekan menggunakan swapcase.

    contoh penggunaan swapcase: var[i].swapcase

    nanti fungsinya sama bu, jadi yang kapital letters jadi kecil, yang kecil jadi besar.

    ReplyDelete
    Replies
    1. Calisha xi mipa 5/6
      saya ingin bertanya, bagaimana dengan punctuationnya?

      Delete
    2. kan nanti dia ngitungnya per huruf kan, nah kan dia juga ada if.

      ifnya --> if (Teks[i] not in string.punctuation) and (Teks[i] not in string.whitespace):

      brarti kalau dia punctuation maka dia ngk akan memenuhi kondisinya, maka dia ngk bakal di print

      Delete
    3. BevanJG/XIMIPA5/5
      Bedanya pakek swapcase sama yang dipakek bu tintin apa ??

      Delete
    4. austin ximipa5/4

      fungsinya sama, tp ya lebih pendek aja kalau pake swapcase

      Delete
  17. Apakah bisa menggunakan swapcase agar menjadi lebih singkat programnya?
    Emmanuel Candra S XIMIPA5 9

    ReplyDelete
  18. Oey, Meira Emily W. / XI MIPA 4 / 21

    Saya punya saran, bagaimana kalau programnya dibuat seperti ini? Jadi, akan terlihat lebih ringkas dan sederhana.

    import string

    Teks=input("Masukkan teks: ")
    Baru=""
    for i in range(len(Teks)):
    if(Teks[i] not in string.punctuation) and (Teks[i] not in string.whitespace):
    Baru += Teks[i].swapcase()
    print(Baru)

    ReplyDelete
    Replies
    1. Nicholas Alim Utomo / XI MIPA 4 / 20

      Maaf, saya ingin bertanya. Kegunaan “string.punctuation” dan “string.whitespace” itu apa ya?

      Delete
    2. Michael Calvin/ XI MIPA 4/ 19
      Setahu saya, “string.whitespace” berisi segala jenis spasi antar karakter sedangkan “string.punctuation” berisi semua karakter tanda baca.

      Delete
    3. Nicholas Alim Utomo / XI MIPA 4 / 20

      Ooo begitu. Terima kasih ya!

      Delete
    4. Michael Calvin/ XI MIPA 4/ 19
      C : Oh ya, kalau “swapcase” kegunaannya untuk apa ya?

      Delete
    5. Nicholas Alim Utomo / XI MIPA 4 / 20

      Setahu saya, “swapcase” digunakan untuk mengubah huruf besar menjadi huruf kecil, dan begitu juga sebaliknya.

      Delete
    6. Oey, Meira Emily W. / XI MIPA 4 / 21

      Yup, betul sekali! Sehingga, “swapcase” dapat menghilangkan dan menggantikan function “ascii_uppercase” dan “ascii_lowercase” yang ada pada program Bu Tintin.

      Delete
    7. Oey, Meira Emily W. / XI MIPA 4 / 21

      **maaf ada sedikit perbaikan :

      “swapcase” dapat menghilangkan dan menggantikan statement (if, elif, dan else) serta function yang ada dalam statement tersebut (ascii_uppercase, ascii_lowercase, upper(), dan lower()).

      Delete
  19. Estevan Tannaka H.S./Xi mipa 5/10
    Bu bedanya =maketrans(".!?;:-_/'~%#$%[]{}(@)|", 23*" ") sama replace(karakter,"") ini apa ya?

    ReplyDelete
    Replies
    1. Giovanny Septifilea Purnomo/XIMIPA5/13
      replace : untuk substring replace, mengganti keseluruhan dari argumen 1 sebagai 1 bagian dan menggantinya dengan keleruhuan dari argumen 2.
      maketrans : untuk character-level translation, mengganti setiap karakter individu dari argumen 1 dengan karakter yang sesuai di argumen 2.

      Delete
    2. Gimana kalo kita juga ubah fungsi "if, elif, else" menggunakan fungsi swapcase?

      Untuk programnya bisa coba dibuat jadi seperti ini :

      import string

      Teks = input("Input teks : ")
      Baru = Teks.swapcase()
      for x in string.punctuation:
      Baru = Baru.replace(x, "")
      for x in string.whitespace:
      Baru = Baru.replace(x, "")
      print(Baru)

      Juga disini saya menggunakan fungsu string.punctuation untuk menghilangkan simbol dan juga menggunakan fungsi string.whitespace untuk menghilangkan spasi. Dengan menggunakan kedua fungsi ini kita dapat mempersingkat pekerjaan dan memudahkan dalam membuat program menjadi lebih praktis. Juga di program ini saya memasukkan fungsi replace.

      Juga apa sebenarnya ada cara lain atau tidak? Saat saya melakukan riset saya menemukan web yang menggunakan re.sub, namun perintah ada di library re. Bisa minta tolong jelaskan, bagaimana jika kita mau menggunakan re.sub ?

      ( Farrel Gunawan/XIMipa5/11 )

      Delete
  20. Apa fungsi dari upper dan lower dan apa perbedaannya?

    ReplyDelete
    Replies
    1. Di python fungsi upper() itu untuk mencetak huruf yang capital / besar sedangkan lower() untuk mencetak yang lowercase / huruf kecil.

      Jadi program di atas penggunaan upper adalah untuk mengubah huruf yang kecil / lowercase menjadi huruf capital, dan lower digunakan untuk mengubah huruf yang capital / besar menjadi huruf lowercase.

      Ricky Mathew Chionardes XIMIPA 1 /25

      Delete
  21. Angeline Diva XI MIPA 4/01
    Supaya lebih singkat, kita bisa hanya menggunakan build in function swapcase,maketrans, dan translate.
    Swapcase () digunakan untuk mengkonversi string huruf besar dan huruf kecil. Berikut contohnya :

    import string
    x=input("Masukan teks: ")

    y=x.swapcase()
    punctuation= str.maketrans("#@.!?,;:-_/'~%&$*", 17*" ")
    y=y.translate(punctuation)
    print(y)

    ReplyDelete
    Replies
    1. Bryan Myer S XI MIPA 4/02
      Iya, maketrans dan translate digunakan untuk mengubah sebuah karakter/ komponen di dalam sebuah string.

      Contoh:
      punctuation= str.maketrans("#@.!?,;:-_/'~%&$", 17" ")
      y=y.translate(punctuation)
      Di sini, maketrans untuk memasukan karakter yang ingin hapus, lalu kita beri tanda "," dan dilanjutkan jumlah karakter tersebut. Translate digunakan untuk menerapkan aturan yang telah kita tetapkan di maketrans tadi ke dalam sebuah variabel.

      Pertanyaan saya: Apakah untuk menggunakan swapcase, translate dan maketrans perlu import library sting?

      Delete
    2. Catherine Averina XIMIPA 4/ 3
      jika dilihat dari programnya setau saya perlu karena maketrans digunakan untuk tempat menerjemahkannya dan translate dapat digunakan untuk menyaring karakter dalam data ters

      Delete
    3. lanjutan
      Karena ketiga build in fuction tersebut masuk ke dalam kategori library string, maka kita perlu mengimport library string

      Delete
  22. Gabriella florentina XI MIPA4/8
    bagaimana penggunaan uppercase dan lowercase?

    ReplyDelete
    Replies
    1. Uppercase and lowercase itu merupakan function yang ada di string library. Jadi, dalam penggunaannya kita harus import string terlebih dahulu, baru setelah itu bisa dituliskan dalam pemograman:
      string.ascii_uppercase atau string.ascii_lowercase

      kalau ascii_uppercase itu hanya memiliki nilai karakter huruf besar sementara ascii_lowercase itu memiliki nilai karakter huruf kecil saja

      Graciella Angie Harsono XIMIPA4/9

      Delete
    2. lalu upper() dan lower() itu untuk apa?

      Delete
    3. fungsi upper() untuk mencetak huruf capital dan lower() untuk mencetak huruf kecil

      Delete
    4. Darren Hansel Susanto XI MIPA 4 / 7

      Delete
    5. berarti supaya program lebih sederhana built in function nya upper dan lower bisa digantiin pake swapcase() ya?
      gabriella f/XIMIPA4/8

      Delete
    6. iyaa bisa, kalau mau menggunakan swapcase(), programnya dapat disederhanakan:

      if (Teks[i] not in string.punctuation) and (Teks[i] not in string.whitespace):
      Baru += Teks[i]

      print(Baru.swapcase())

      Graciella Angie H XIMIPA4/9

      Delete
  23. This comment has been removed by the author.

    ReplyDelete
    Replies
    1. This comment has been removed by the author.

      Delete
  24. Menurut saya penggunaan fungsi 'if', 'elif', dan 'else' masih dapat dipersingkat menjadi lebih ringkas. Apakah penggunaan fungsi 'swapcase' dapat digunakan dalam kondisi seperti ini?

    Oen Justin / XI MIPA 3 /23

    ReplyDelete
    Replies
    1. Saya juga setuju, kalau menggunakan perintah swapcase cukup sekali tidak perlu menggunakan 3 perintah yang berbeda. Lalu saya kurang paham mengenai string. Kalau menggunakan swapcase apakah perlu mencantumkan “string.punctuation , string.whitespace , dll” dalam program?

      Neisha Soegihono / XI MIPA 3 / 22

      Delete
  25. Semisal fungsi "if, elif, dan else" di ganti dengan fungsi 'swapcase', apakah program tersebut dapat dijalankan dengan baik?

    Samuel Alvin Haryanto - XI MIPA 3/26

    ReplyDelete
    Replies
    1. Raynard Jayadi S / XI MIPA 3 / 25
      Ya benar, program fungsi if, elif, dan else tersebut di ringkas dengan menggunakan swapcase.
      Penggunaannya sebagai berikut :

      Teks = input("Masukkan teks : ")
      Baru = Teks.swapcase()
      for x in string.punctuation and string.whitespace:
      Baru = Baru.replace(x, "")
      print(Baru)

      Dengan demikian program akan tetap menghasilkan hasil yang sama tetapi dengan cara lebih ringkas.
      Selain itu, penggunaan string.punctuation menurut saya sudah tepat karena tidak perlu menuliskan semua tanda baca satu per satu. Penggunaan string.whitespace, juga tepat karena dapat mengantisipasi jika terdapat spasi di input yang dimasukkan sehingga nantinya dapat dihilangkan. Banyak orang yang melupakan whitespace karena mereka tidak memperkirakan adanya spasi atau jeda di input sehingga penggunaan ini sangat tepat.

      Delete
    2. Raynard Jayadi S / XI MIPA 3 / 25
      Maaf sedikit ralat, untuk programnya dibuat seperti ini :

      import string

      Teks = input("Masukkan teks : ")
      Baru = Teks.swapcase()
      for x in string.punctuation:
      Baru = Baru.replace(x, "")
      for x in string.whitespace:
      Baru = Baru.replace(x, "")
      print(Baru)

      Terima kasih, mohon saran dan kritiknya.

      Delete
  26. Maximilian Matthew KP XIMIPA3/20

    Apakah itu string.ascii_lowercase? Dan apa kegunaan nya?

    ReplyDelete
    Replies
    1. string.ascii_lowercase itu perintah yang gunanya untuk menampilkan semua karakter huruf kecil

      Matthew Sebastian XI MIPA 3

      Delete
    2. Apakah bisa menggunakan perintah lain, selain string.asci_lowercase?

      Michelle Jessica XI MIPA 3/21

      Delete
    3. setahu saya jika kalian ingin mengubah semua karakter menjadi huruf kecil hanya bisa menggunakan rumus fungsi itu.

      Delete
    4. String.ascii_lowercase adalah perintah yang menjadikan semua huruf dalam suatu kata yang dimasukkan menjadi lower case (huruf kecil semua)
      Nicholas Jason Rahardjo XIA1/23

      Delete
  27. Bedanya sting.whitespace dengan string.isalnum apa ya?
    Zhong Zhong Michael P. H./ XI MIPA 1 / 29

    ReplyDelete
    Replies
    1. Klo string.isalnum itu lebih singkat Zhong Michael..
      Wilson Arvian Winata 11 Mipa 1_28

      Delete
  28. Saya agak tidak paham penggunaan perintah string.punctuation, apakah ada cara lain?

    Eugenia Kaitlynn Miracle Ardyth XI MIPA 3/7

    ReplyDelete
    Replies
    1. Iya ada, bisa menggunakan perintah maketrans juga.

      faydra trevina u. xia3/9

      Delete
    2. This comment has been removed by the author.

      Delete
    3. Tapi bukannya kita harus masukkan simbol satu per satu jika menggunakan perintah maketrans?

      fanny setiawati XIMIPA3/8

      Delete
    4. Iya sih, itu salah satu kerugian perintah maketrans. string.punctuation secara langsung berisi set simbol.

      faydra trevina u. xia3/9

      Delete
  29. apakah penggunaan if dan elif dengan penggunaan swapcase sama saja hasilnya ? jika iya kenapa ada program if dan elif ?
    Stefanus kristianto XIMIPA 3/28

    ReplyDelete
  30. Christopher Vincent B XIMIPA4_04
    Saya mau tanya, kegunaannya string.punctuation dan not in string.whitespace apa ya?

    ReplyDelete
    Replies
    1. string.punctuation itu adalah set dari semua tanda baca.

      not in string.whitespace berguna agar semua karakter spasi, tab, linefeed, return, formfeed, dan tab vertikal tidak dianggap di command selanjutnya, karena di command selanjutnya hanya ditujukan untuk huruf-huruf.

      -Ricky Mathew Chionardes XIMIPA 1 / 25

      Delete
    2. Clarissa Isabelle A
      XI MIPA 4 / 5

      fungsi dari string.punctuation adalah menghilangkan tanda baca , jadi apabila terjadi kesalahan tanda baca maka kesalahan ini kan dibenarkan oleh string.punctuation .

      Delete
    3. Daniel Alloysius G
      XI MIPA 4 / 6
      not in string.whitespace itu berfungsi supaya tidak terjadi kesalahan - kesalahan di bagian spasi. not in string.whitespace ini dibutuhkan supaya karakter-karakter seperti spasi tersebut tidak dimasukkan di command yang hanya membutuhkan karakter huruf.

      Delete
  31. Halo bu Tin2, jadi menurut kami, program bu Tin2 sedikit rumit bu..ibu menggunakan if-elif, not in string punctuation, dan not in string whitespace. Jadi kami merancang program seperti ini (menggunakan 1 fungsi lgs yaitu swapcase) :

    #Variabel = x,y,Tanda,Akhir:string

    import string
    x=input("Masukan Nama:")
    y=x.swapcase()
    Tanda = "&*()_{}/?.,#<>~$^`"
    Akhir = ""

    for char in y:
    if char not in Tanda:
    Akhir = Akhir + char

    print("Hasil Akhir :",Akhir)
    Menurut pendapat kami, untuk anak-anak seusia kami, mungkin lebih memilih langsung menggunakan swapcase meskipun kami juga hrs tetap input punctuationnya terlebih dahulu. Terima kasih bu🙏
    -Lynetta Cindy Hermawan & Marcella Natalie Wibowo (XI MIPA 4 - 16/17) -

    ReplyDelete
    Replies
    1. Program diatas adalah program untuk menghilangkan Punctuation dan untuk mengubah huruf kecil pada nama menjadi huruf besar.Program ini bekerja dengan cara memasukan nama,angka , dan punctuation sebagai pemisah.Program akan menerima respon lalu akan menghilangkan punctuation tersebut dan akan mengubah huruf kecil menjadi huruf besar dan menggabungkan antara angka dan nama.
      -Matthew Edgar Kimholman Darmawan [XI MIPA 4-18]-

      Delete
    2. -Refisi-
      Kecil ke besar dan juga besar ke kecil

      Delete
  32. Saya masih bingung apa itu string.whitespace dan string.punctuation, apakah ada yang bisa jelaskan? Tolong yang bisa saya kasih kfc bucket

    David Lee XIMIPA 3 / 03

    ReplyDelete
    Replies
    1. string.punctuation=suatu kamus/tempat yang isinya semua tanda baca yang ada

      string.whitespace=spasi

      Delete
    2. string.punctuation=suatu kamus/tempat yang isinya semua tanda baca yang ada
      Christian Cahyono / 2

      Delete
    3. string.whitespace adalah string yang diinisialisasi sebelumnya yang digunakan sebagai konstanta string. Dalam Python, string.whitespace akan memberikan spasi karakter, tab, linefeed, return, formfeed, dan tab vertikal.
      Angelynn Nathania XIMIPA3 1

      Delete
    4. izin melengkapi, Jadi string.whitespace itu adalah segala jenis spasi yang biasanya digunakan untuk memberi spasi antar karakter, sedangkan string.punctuation itu berisi tanda baca. String.punctuation ini bisa digunakan untuk menghilangkan tanda baca yang salah dan membenarkan yang salah.

      Jesslyn Nathalie XIA2/13

      Delete
  33. Kalau proses yang menggunakan fungsi ascii_uppercase, ascii_lowercase, lower(), dan upper() dijadikan satu menggunakan fungsi swapcase() agar lebih singkat, apakah memungkinkan?

    Kezia Elice/XI MIPA 5/19

    ReplyDelete
    Replies
    1. Seharusnya bisa , karena swapcase dapat menukar huruf kecil menjadi huruf besar dan huruf besar menjadi huruf kecil.
      Michelle Caroline Sugianto XIMIPA5/20

      Delete
    2. Bisa, karena fungsi swapcase sama dengan fungsi - fungsi tersebut.
      Michiko Kireina XI MIPA 5 / 21

      Delete
  34. Bagaimana bila menggunakan fungsi swapcase dan replace agar lebih mempermudah ? Lalu saya ingin bertanya mengenai apa itu string.ascii?
    Contoh penggunaan fungsi swapcase dan replace :
    import string
    x=input("Masukkan kalimat: ")
    y=x.swapcase()
    z=("+-{}#$%@!&/")
    for character in z:
    y=y.replace(character,"")
    print(y)
    (Alecia Cindy_XIMIPA5_2)

    ReplyDelete
  35. apa fungsi dari string.punctuation ? dan bagaimana cara penggunaanya?

    jocelyne ximipa5/17

    ReplyDelete
    Replies
    1. String. Punctuation berfungsi untuk menghilangkan semua tanda baca tanpa harus menginput tanda baca tersebut satu per satu.

      Delete
    2. Cara pengunaanya misalnya
      data="".join(y for y in data if y not in (string.punctuation))

      Data disini sebagai array (penampung) lalu dengan fungsi join saya mengubah array tersebut menjadi string setelah itu menggunakan string. punctuation untuk menghapuskan bagian data yang di input yang memiliki tanda baca
      (Jeannie Eileena E XI MIPA 5/16)

      Delete
  36. This comment has been removed by the author.

    ReplyDelete
  37. Menurut saya program tersebut terlalu banyak menggunakan if, sepertinya metodenya bisa lebih sederhana dengan built-in function. (Sharen Angelina XIA5/25)

    ReplyDelete
    Replies
    1. Iya benar, bisa menggunakan swapcase langsung untuk mengganti huruf besar jadi kecil dan huruf kecil jadi besar tanpa if, kalau untuk menghilangkan simbol bagaimana ya? (Stephanie FD/XI MIPA 5/26)

      Delete
    2. Bisa menggunakan string.punctuation untuk menghilangkan simbol dan string.whitespace untuk menghilangkan spasi, bisa coba buat programnya? (Sharen Angelina XIA5/25)

      Delete
    3. import string
      B=input("Masukkan teks : ")
      for i in string.punctuation and string.whitespace :
      B=B.replace(i,'')
      print(B.swapcase())
      (Stephanie FD/XI MIPA 5/26)

      Delete
  38. Jadi perbedaannya Swapcase dengan string.ascii_uppercase() dan string.ascii_lowercase() itu apa ya?

    ReplyDelete
    Replies
    1. Swapcase berguna untuk menukar huruf kecil menjadi huruf besar dan huruf besar menjadi huruf kecil. Sedangkan string.ascii_uppercase() berisi seuluruh huruf kapital dan string.ascii_lowercase() berisi seluruh huruf kecil.

      (Yoshua Budiawan C_XIA5_28)

      Delete
  39. Menurut saya daripada menggunakan program ini :
    if (Teks[i] in string.ascii_uppercase):
    Baru += Teks[i].lower()
    elif (Teks[i] in string.ascii_lowercase):
    Baru += Teks[i].upper()
    else:
    Baru += Teks[i]
    lebih mudah menggunakan swapcase karena hasil akhirnya akan sama saja sehingga programnya akan tampak seperti ini :
    a=str(input("masukan nama dan nomor ujian anda :"))
    b=(a.swapcase())
    print(b)

    Dellon Valentino Ardi / XIMIPA5 / 8

    ReplyDelete
    Replies
    1. Mau tanya..kalau yang fungsi string.ascii_upper/lowercase itu fungsinya apa ya? Lalu kenapa kedua fungsi itu bisa digantikan dengan fungsi swapcase??
      Cindy K / XI MIPA 5 / 7

      Delete
    2. Sepertinya fungsi string.ascii_uppercase itu merupakan mencari bilangan yang huruf besar dan mengubahnya menjadi huruf kecil dan menambahkanya ke baru sebaliknya untuk fungsi string.ascii_uppercase. Bisa digantikkan dengan swapcase karena swapcase memiliki fungsi yang sama yaitu mengubah huruf besar menjadi kecil dan sebaliknya .
      Emmanuel Candra S/XIMIPA5/9

      Delete
    3. kira-kira program ini masih bisa disimple kan tidak ya?

      Delete
    4. Kalau untuk program yang lebih simple, ada beberapa cara, salah satunya memakai swapcase, replace, dan translate
      import string
      tweet = input('Teks: ')
      tweet=tweet.replace(" ",".")
      transtable = str.maketrans('', '', string.punctuation)
      clean_words = tweet.translate(transtable)
      print(clean_words.swapcase())

      Untuk cara lainnya, bisa digunakan re.sub, namun perintah ini ada di library re. Dalam program ini, perintah ini digunakan untuk mengganti semua karakter dalam string yang bukan huruf, angka, dan underscore (menggunakan /W+) , dengan (""), sehingga penulisan lebih singkat.
      import re
      Teks=input("Teks: ")
      baru = re.sub('\W+','', Teks )
      print(baru.swapcase())
      ~Cindy K, Dellon V. A, Emmanuel C. S. XI A 5 (7,8,9)

      Delete
  40. This comment has been removed by the author.

    ReplyDelete
  41. Wynonna Hartono/XIA4/29
    Apakah ada cara untuk mempersingkat pembuatan program agar tidak terlalu panjang?

    ReplyDelete
    Replies
    1. TanLouisS.W./XIA4/28
      Pastinya ada, akan lebih baik jika lowercase dan uppercase diganti/dipersingkat dengan menggunakan swapcase yang pasti akan mempersingkat program. Jadi bagian yang akan dihapus :

      if (Teks[i] in string.ascii_uppercase):
                  Baru += Teks[i].lower()
              elif (Teks[i] in string.ascii_lowercase):
                  Baru += Teks[i].upper()
              else:
      Baru += Teks[i] 

      Delete
    2. Betul, bisa juga menggunakan built in function swapcase untuk mengganti lowercase menjadi uppercase dan sebaliknya. Maka hasil yang diperoleh:
      import string
      x=string.punctuation
      y=string.whitespace
      Teks =str(input("Masukkan Teks: "))
      Baru = "".join(i for i in Teks if i not in x and y)
      Baru = Baru.swapcase()
      print (Baru)
      (Wynonna H/29 dan Tan Louis/28)

      Delete
  42. Bagaimana jika menggunakan fungsi swapcase? Karena menurut saya program tersebut terlalu banyak menggunakan if, elif, dan else. Sepertinya bisa disederhanakan menggunakan swapcase.
    Contoh program :

    import string
    x=string.punctuation
    Teks=str(input("Masukkan Teks: "))
    Baru=""
    for character in (Teks):
    if character not in x:
    Baru+=character
    print(Baru.swapcase())

    (Gracia Amanda_XIA3_11)

    ReplyDelete
    Replies
    1. Gizannda Gandapurnama / XIA3 / 10

      emangnya fungsi swapcase itu apa ya ??

      Delete
  43. kanaiella_ximipa4_14
    berarti if/else itu fungsinya sama dengan swapcase ya? kalau beda apa yang membedakannya? kenapa swapcase bisa dikatakan "lebih singkat" dariada if/else?

    ReplyDelete
    Replies
    1. Beda, if/else fungsinya untuk perulangan tapi swapcase fungsinya untuk menukar huruf besar menjadi kecil dan sebaliknya. If/else yang digunakan itu mengulang setiap huruf yang termasuk dalam huruf besar (string.ascii_uppercase) dijadikan huruf kecil dan sebaliknya sehingga fungsinya bisa digantikan oleh swapcase. Swapcase lebih singkat karena tidak perlu 2 kali perulangan (huruf besar dan huruf kecil).

      Idellya Djuhadi XI MIPA 4/11

      Delete
  44. kanaiella_ximipa4_14
    aku ada usul , bagaimana jika penggunaan fungsi if, else , elif diganti menggunakan swapcase saja supaya lebih singkat

    ReplyDelete
    Replies
    1. jocelyn nathalie_xi mipa 4_13
      berarti if/else itu fungsinya sama dengan swapcase ya? kalau beda apa yang membedakannya? kenapa swapcase bisa dikatakan lebih singkat daripada if/else?

      Delete
  45. Contoh program check input kode bagaimana ya?
    Lauren Ashley Dean XI MIPA 3/17

    ReplyDelete
    Replies
    1. Maksud saya, program check input kode yang akan dibuat seperti apa?

      Delete
    2. Program akan dibuat sesuai dengan ketentuan-ketentuan kode yang diinginkan, sehingga kode yang diinput harus sesuai dengan ketentuannya.

      Joycelyn Sashenka Subagio XI MIPA 3/16

      Delete
    3. Kalau begitu ketentuan apa saja yang akan dimasukkan ke dalam program untuk menentukan bahwa kode diinput sesuai atau tidak?

      Malvin Bara Wijaya/XI MIPA 3/18

      Delete
    4. Ketentuan dari kode adalah memiliki panjang 10 dengan urutan: 5 huruf kapital, 2 huruf kecil, 1 simbol, 2 angka, contohnya adalah GBDKHhj#09

      Joycelyn Sashenka Subagio XI MIPA 3/16

      Delete
    5. Lalu bagaimana contoh programnya berdasarkan ketentuan yang sudah disebutkan diatas?

      Lauren Ashley Dean XI MIPA 3/17

      Delete
    6. Untuk ketentuan panjang kode maka dapat dibandingkan panjang kode yang diinput dengan panjang kode yang diinginkan (10). Contohnya adalah
      if (p_kode==10)

      Joycelyn Sashenka Subagio XI MIPA 3/16

      Delete
    7. untuk ketentuan pertama (5 huruf kapital) contoh programnya adalah
      for i in range (5):
      if (kode [i] in string .ascii_uppercase):
      hasil +=kode[i].lower()

      Malvin Bara Wijaya/XI MIPA 3/18

      Delete
    8. Ya, lalu untuk ketentuan kedua (2 huruf kecil) contoh programnya adalah
      for i in range (5,7):
      if (kode[i] in string.ascii_lowercase):
      hasil +=kode[i].upper()

      Joycelyn Sashenka Subagio XI MIPA 3/16

      Delete
    9. Betul, lalu untuk ketentuan ketiga (1 simbol) contoh programnya adalah
      for i in range (7,8):
      if (kode[i] in string.punctuation):
      hasil +=""

      Lauren Ashley Dean XI MIPA 3/17

      Delete
    10. Lalu untuk ketentuan yang terakhir (2 angka) contoh programnya adalah
      for i in range (8,10):
      if (kode[i] in string.digits):
      hasil +=kode[i]

      Delete
    11. Jadi, jika semuanya digabung maka programnya menjadi

      import string

      kode=input("Masukkan kode: ")
      p=10
      p_kode=len(kode)
      hasil=""

      if (p_kode==p):
      for i in range (5):
      if (kode[i] in string.ascii_uppercase):
      hasil +=kode[i].lower()
      else:
      print ("Kode harus memiliki 5 huruf kapital di depan")
      for i in range (5,7):
      if (kode[i] in string.ascii_lowercase):
      hasil +=kode[i].upper()
      else:
      print ("Kode harus memiliki 2 huruf kecil setelah huruf kapital")
      for i in range (7,8):
      if (kode[i] in string.punctuation):
      hasil +=""
      else:
      print ("Kode haurs memiliki 1 simbol setelah huruf kecil")
      for i in range (8,10):
      if (kode[i] in string.digits):
      hasil +=kode[i]
      else:
      print ("Kode harus memiliki 2 digit angka setelah simbol")
      print (hasil)
      else:
      print ("Panjang kode salah")

      Lauren Ashley Dean XI MIPA 3/17

      Delete
    12. Malvin Bara Wijaya/XI MIPA 3/18

      Delete
  46. apakah penggunaan fungsi if, else, elif bisa diganti menggunakan swapcase saja supaya lebih singkat?

    Sophieana Adiel Oriole/XI MIPA 4/26

    ReplyDelete
    Replies
    1. Bisa karena swapcse dpt langsung mengganti huruf besar menjadi kecil dan sebaliknya, jadinya lebih praktis

      Shannon Valerie XIMIPA4/25

      Delete
  47. Kalau begitu ketentuan apa saja yang akan dimasukkan ke dalam program untuk menentukan bahwa kode diinput sesuai atau tidak?

    Malvin Bara Wijaya/XI MIPA 3/18

    ReplyDelete
  48. Kelihatannya bagian untuk menukar huruf bisa disingkat, tapi bagaimana ya caranya?
    Debora MS/XIA3/4

    ReplyDelete
    Replies
    1. menurut saya program tersebut terlalu banyak menggunakan if, elif, dan else. mungkin bisa disederhanakan menggunakan swapcase.
      Contoh program :

      import string
      x=string.punctuation
      Teks=str(input("Masukkan Teks: "))
      Baru=""
      for character in (Teks):
      if character not in x:
      Baru+=character
      print(Baru.swapcase())

      Enrique Julian Aldo/XIMIPA3?06

      Delete
    2. Iya jdi bangian yg dihilangkan
      if (Teks[i] in string.ascii_uppercase):
                  Baru += Teks[i].lower()
              elif (Teks[i] in string.ascii_lowercase):
                  Baru += Teks[i].upper()
              else:
      Baru += Teks[i]

      ellen novita/XIA3/5

      Delete
  49. Dari komentar-komentar sebelumnya, saya melihat bahwa adanya penggunaan "str.maketrans" untuk meringkas program satu ini, tetapi saya memiliki masalah dengan perintah "str.maketrans" di python, dan jika saya gunakan, hasilnya adalah Error. Mengapa ini bisa terjadi? Apa kesalahan saya dalam pemakaian perintah str.maketrans ini, atau adakah teknik/ tambahan perintah khusus untuk memakai "str.maketrans"?

    Sean Pratama Djapardi/ XI MIPA 1/ 26

    ReplyDelete
  50. Ardelia calista purnomo/XI MIPA 5/03
    Else perintah untuk apa ya bu?

    ReplyDelete